.net - 如何处理循环引用?

标签 .net visual-studio architecture circular-reference

如果我有这两个项目:

MyCompany.ERP.Billing
MyCompany.ERP.Financial

计费 询问/发送信息至 金融反之亦然。两者都太大了,所以我不想把它们放在一个项目中。
Visual Studio 不允许循环引用。你会怎么处理呢?

最佳答案

从你的类中提取接口(interface)并将它们放入一个核心项目中,引用自两个 BillingFinancial项目。然后,您可以使用这些接口(interface)在程序集之间共享数据。

这只允许您 通过这两个程序集之间的对象,但您不能从另一个程序集创建对象,因为您实际上没有开始的引用。如果您希望能够创建对象,则需要在这两个项目之外的工厂来处理对象创建。

我将提取需要在 Billing 之间来回共享数据的业务逻辑。和 Financial进入另一个项目。这将使事情变得容易得多,并且使您免于求助于使可维护性成为噩梦的各种技巧。

关于.net - 如何处理循环引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3719730/

相关文章:

.net - 如何将不同的 tabItems 绑定(bind)到不同的 ViewModel

c# - 使用接口(interface)分离读写关注点的最佳方法?

具有多个返回参数的 C# 方法

javascript - Gmail 是否使用 setInterval() 或 setTimeOut() 进行定期刷新?

database-design - 实现大型系统更改

.net - 设计模式...从哪里开始? (一些实际示例)

visual-studio - DataTable 可视化工具在 Visual Studio 2017 中无处可寻

c++ - 为什么 Visual Studio 会尝试注册我的 DLL

visual-studio - 如何重新打开 Visual Studio 立即窗口?

architecture - 重建遗留应用程序的策略