我正在尝试在 asp.net 项目中实现模块化设计,将应用程序划分为不同的模块,如 HR、库存管理系统等。由于我试图保持不同的模块相互独立,因此我将这些模块分开,使每个模块模块是一个单独的 Visual Studio 解决方案,具有 UI、BLL、DAL 甚至是单独的数据库架构。
到目前为止,我认为这是开发管理系统和 ERP 的一种常见做法,但我在网上搜索了过去三天,但几乎没有找到任何有关开发模块化应用程序的完整内容。我发现的大部分只是解释内聚和耦合概念的理论,而不是现实世界的场景。所以我想知道
- 这是分离模块的正确方法吗?
- 现实世界的模块化应用程序是如何开发的?
- 不同的模块应该如何相互通信,但它们又保持相互独立。
- 我认为应该有一个使用这些模块的核心应用程序,核心应用程序应该如何与这些模块通信?
- 每个模块都有一些共同的数据,实体,对象,我应该将它们放在核心模块中以便其他模块使用它们(我认为这将使模块耦合到核心)还是每个模块都应该维护自己的数据副本 + 定义那些对象,(我认为这会破坏 DRY)
任何想法,链接都受到热烈欢迎。