Dot-Net

如何處理循環引用?

  • September 15, 2010

如果我有這兩個項目:

MyCompany.ERP.Billing
MyCompany.ERP.Financial

計費向****財務部門詢問/發送資訊,反之亦然。兩者都太大了,所以我不想把它們放在一個項目中。Visual Studio 不允許循環引用。你會怎麼處理呢?

從您的類中提取介面並將它們放入從Billing和項目引用的核心項目中Financial。然後,您可以使用這些介面在程序集之間共享數據。

這僅允許您在這兩個程序集之間傳遞對象,但您不能從另一個程序集創建對象,因為您實際上沒有開始的引用。如果您希望能夠創建對象,則需要在這兩個項目之外的工廠來處理對象創建。

我將提取需要在另一個項目Billing之間來回共享數據的業務邏輯。Financial這將使事情變得容易得多,並且使您免於求助於使可維護性成為噩夢的各種技巧。

引用自:https://stackoverflow.com/questions/3719730