模块化设计和耦合

时间:2013-04-29 10:55:33

标签: asp.net architecture module

我正在尝试以模块化方式开发asp.net应用程序,其中功能在不同模块之间划分。例如,一个模块是库存管理系统,它具有自己的UI,BLL,DAL和单独的数据库模式。 HR模块和用户管理也是如此。

有些数据(或者我应该说是对象)由不同的模块使用。例如地址,因为供应商(库存)具有地址以及员工(HR)也具有地址。我应该在哪里保留这些物品?我应该在所有模块中定义地址类,这意味着重复代码或在某些全局模块中(我认为模块依赖于全局模块。

有时模块确实需要使用其他模块中定义的对象。例如,库存模块需要Employee对象(HR)才能执行某些操作,而这些操作将无法使用employee对象。我认为这使得库存模块与HR紧密耦合,从而破坏了模块化设计的目的。

我们如何才能使模块真正相互独立?

1 个答案:

答案 0 :(得分:1)

我不确定你在找什么。您似乎已经知道了问题及其解决方案。

仅仅为了使用数据持有者而拥有模块依赖性并不是一个好主意。通常的做法是将公共类(如模型对象(Employee,Address等))移动到其自己的单独模块中。这可以由任何模块导入。