【问题标题】:Suggestion to choose proper design pattern建议选择合适的设计模式
【发布时间】:2019-03-01 19:32:48
【问题描述】:

我被要求提供a "deal service" that de-couples the user’s requests from the requests to the partners who provide rental rates. the service does so, by looking up a cache, and fetching whatever is missing in a long-running process. 的设计文档

我正在考虑哪种设计模式适合该软件。我不需要编写工作代码,只需要编写设计文档。

我正在考虑调解器和享元设计模式的结合。

中介者模式定义了一个对象,它封装了一组对象如何交互。 Mediator 通过阻止对象显式地相互引用来促进松散耦合,并且它允许您独立地改变它们的交互。对象不是直接相互交互,而是要求 Mediator 代表它们进行交互,这会导致可重用性和松散耦合。

另一方面,享元模式旨在控制对象创建,其中应用程序中的对象具有很大的相似性并且属于相似类型,并为您提供了基本的缓存机制。它允许您为每种类型创建一个对象(此处的类型因该对象的属性而异),如果您请求具有相同属性的对象(已创建),它将返回相同的对象而不是创建一个新的对象一个。

你有更好的建议吗?

【问题讨论】:

标签: java design-patterns decoupling


【解决方案1】:

听起来更像是流程的编排。我将简单地构建 VO 并将其传递给协调器,然后在这里,我将使用命令模式(如果需要,还可以使用抽象工厂),其中每个命令都有责任调用合作伙伴服务并返回 DealsVO/TO/DTO(无论真是的!)。我还将使用构建器模式来构建您对每个合作伙伴服务的请求,从而使所有设置者都远离画面,从而使请求不可变。

【讨论】:

  • 感谢您的建议。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-03
  • 1970-01-01
  • 2012-08-30
  • 1970-01-01
相关资源
最近更新 更多