2010-07-23 62 views

回答

1

您首先需要回答這個問題:「我什麼時候需要RepositoryCustomerA而不是RepositoryCustomerB?」

如果這些類中的任何一個都可以基於某個運行時狀態在生產環境中實例化,那麼您可能需要查看conditional object construction

如果RepositoryCustomerA應該在開發時被實例化(單元測試,說),而RepositoryCustomerB是生產模擬,那麼你需要兩個不同的Registry S:一個只存在於你的測試代碼,一個是生產訪問。有關此路線的更多信息,請閱讀creating registries作爲配置StructureMap的一種方法。

+0

這兩個變體似乎都使用字符串。是否有可能以類型安全的方式進行此操作? – Rookian 2010-07-23 21:33:05

+0

我看了一下有條件的對象構造教程,但那裏使用的方法幾乎都是過時的...有沒有最新的版本?我使用StructureMap 2.6.1.0 – Rookian 2010-07-23 21:41:20

+0

@Rookian:我的道歉直到現在才錯過了你的意見。 [這個答案](http://stackoverflow.com/questions/2425565/structuremap-howto-conditional-construction-on-deep-object)可能會幫助你避免非類型安全的條件構造。註冊管理機構支持字符串,但並不是在每種情況下都需要 - 它只取決於您在建設中需要多少細節。只需構建一個存儲庫或其他聲音就可以以類型安全的方式完成。 – ladenedge 2010-08-06 16:07:47

相關問題