簡體   English   中英

解決具有多個程序集的應用程序中的循環依賴關系

[英]Resolving Circular Dependencies in an application with multiple assemblies

在我有多個程序集的應用程序中。

我有一個Class A ,它依賴於dll P

對於同樣的 class A,我正在嘗試引入一個新的導入屬性,該屬性依賴於dll Q

但是dll Qdll P有依賴關系,導致這是一個循環依賴關系。 dll P ->dll Q <-dll P

我已經閱讀了很多文章,但仍然在努力尋找解決方案,因為我必須使用這個導入的屬性,它依賴於dll Q 有關克服此問題的最佳方法的任何建議或建議? 一開始甚至有可能嗎? 提前致謝!

解決循環依賴問題的方法是完全回避它。

鑒於您使用的是 MEF,而不是 IoC/DI 框架,我將假設您正在做插件架構。 如果不是,請不要使用 MEF,MEF 不是 IoC/DI。

您希望按如下方式構建您的解決方案:

Common.Interfaces
    interface IQ { }

Plugin.P
    class P { IQ Q { get; set;} }

Plugin.Q
    class Q : IQ {}

這樣,項目 P 或 Q 都不會直接相互依賴。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM