“门面”术语问题

时间:2010-10-01 14:56:37

标签: design-patterns soa uml

我有关于在服务中表示组件的术语/建模问题。考虑..

情景A:

ICatalogService --exposes - > PublishingManager.Publish

ICatalogService --exposes - > RetrievalManager.Retrieve

情景B:

ICatalogService --exposes - > CatalogManager.Publish

ICatalogService --exposes - > CatalogManager.Retrieve

方案A中的ICatalogService是否代表一个“外观”,因为它实现了多个组件?其他一些术语是否合适?

对于纯粹主义者来说,如果他们管理相同类型的对象,分离“发布”和“检索”管理器(AKA:控制器)是否有任何优势?或者你会使用单个“CatalogManager”吗? / p>

1 个答案:

答案 0 :(得分:1)

立面的想法是它hides complexity behind a simplifying interface。在方案A中,您明确地公开了PublishingManager& RetrievalManager似乎不符合该定义(如果不了解您的代码,很难确定)。

提出第二个问题。我假设这两个服务是互补的,用于启用发布者和检索器之间的连接。如果这是真的,那么有几点想法:

  1. 我很乐意将两者放在同一个服务中,因为根本目的是在发布者之间建立联系。猎犬
  2. 假设我理解正确,这看起来像publish/subscribe模式。可能值得一看。另外考虑使用“订阅”而不是“检索”,因为它应该更熟悉。