我正在尝试以模块化方式开发 asp.net 应用程序,其中功能在不同模块之间划分。例如,一个模块是库存管理系统,它有自己的 UI、BLL、DAL 和单独的数据库模式。人力资源模块和用户管理也是如此。
有一些数据(或者我应该说是对象)被不同的模块使用。例如地址,因为供应商(库存)有一个地址,员工(HR)也有。我应该把这些物品放在哪里?我应该在所有模块中定义地址类,这意味着重复代码还是在某个全局模块中(我认为这使得模块依赖于全局模块。
有时模块确实需要使用其他模块中定义的对象。例如,库存模块需要员工对象(HR)才能执行一些操作,如果没有员工对象,这些操作将是不可能的。我认为这使得库存模块与 HR 紧密耦合,扼杀了模块化设计的目的。
我们如何才能使模块真正相互独立?