假设我有下面的分层架构..。

我希望实现一个需要某种形式的数据访问的方面。堆栈中的每个项目都引用方面框架。因此,由于循环引用,无法让方面程序集引用数据访问层。
那么我应该如何在这个方面中进行数据访问呢?
发布于 2013-08-16 10:51:35
使用运行时依赖关系解决了这个问题。
最好的方法是http://en.wikipedia.org/wiki/Inversion_of_control模式。
您的数据访问可以实现接口,它们的实现可以在运行时通过解析谁使用温莎城堡或尼尼特等控制框架反转实现整个接口来检索。
您的方面将与数据层与整个接口交互,而不是设计时引用,因此您将避免编译时循环引用。
我想补充一些澄清:运行时依赖解决不是产生避免编译时错误的循环引用的银子弹。
有时,您的实现可能是一个程序集的一部分,一旦在设计时引用,它可能以循环引用结束,但这只是一个巧合:它可能在该程序集中,也可能在一个实现中--只有一个,或者只是一个第三方程序集。(谁知道;)
https://stackoverflow.com/questions/18271044
复制相似问题