[英]Resolving Circular Dependencies in an application with multiple assemblies
在我有多個程序集的應用程序中。
我有一個Class A
,它依賴於dll P
。
對於同樣的 class A,我正在嘗試引入一個新的導入屬性,該屬性依賴於dll Q
。
但是dll Q
對dll 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.