我正在做一个可以生成多种类型文档的软件。
假设它可以为美国生成包含XML的以下属性的装运文档:
如果产品类型为ProductType.CAR,则文档还应具有Car模型(由CarService提供,前提是ProductService先前提取的产品ID)。
我还希望能够生成另一个使用相同服务的文档,但是以不同方式显示信息(例如,仅使用姓氏而不是全名)。
我的目标是尽可能地提取这些信息(即,我不想通过调用文档的所有可能信息源来开始生成文档 - 主要是因为这需要我设置层次结构由于1个信息的调用可能依赖于另一个 - 在上面的示例中,如果产品恰好是汽车,我需要提供从ProductService获取的产品ID到CarService。
这看起来像某种设计模式吗?
我很怀疑Bridge和Builder之间......但到目前为止我无法使用它们中的任何一个。我总是在DocumentWriter中找到一些业务逻辑;或者只是一些NoOp的电话。