2010-10-01 141 views
0

我有關於表示服務中的組件的術語/建模問題。考慮..「Facade」術語問題

情形A:

ICatalogService --exposes - > PublishingManager.Publish

ICatalogService --exposes - > RetrievalManager.Retrieve

情形B:

ICatalogService --exposes - > CatalogManager.Publish

ICatalogService --exposes - > CatalogManager.Retrieve

方案A中的ICatalogService代表「外觀」,因爲它實現了多個組件?其他一些術語是否合適?

對於純粹主義者來說,如果管理相同類型的對象,是否有將「發佈」和「檢索」管理器(AKA:控制器)分開的優點?或者您會使用單個「CatalogManager」?

回答

1

立面的想法是它hides complexity behind a simplifying interface。在場景A中,您顯式公開了PublishingManager & RetrievalManager似乎不符合該定義(在不瞭解代碼的情況下難以確定)。

回答第二個問題。我假設這兩項服務是互補的,並用於啓用發佈者和檢索者之間的連接。如果這是真的,然後一對夫婦的想法:

  1. 我很舒服無論是在相同的服務投入爲根本目的是爲了創造出版商之間的連接&獵犬
  2. 假設我的理解對不對,這看起來像publish/subscribe模式。可能值得看一下。另外考慮使用「訂閱」,而不是「檢索」,因爲它應該更熟悉。