1:模块与模块尽量没彻底的关系,这样模块可以单独运行的潜力,也有把这个模块移植到其他项目里进行重复利用的余地。
2:每个模块都应该有他明确的分工定位,该干啥的就是干啥的,不能功能职责过多,那就很容易乱套,扫地的就要扫地,开车的就应该把车开好。
这2个思想都在我们系统里的简单体现,就是通讯录管理模块(名片管理),还有就代码生成器功能模块,这2个模块甚至都能独立运行,也可以做为模块运行,也可以非常快速的移植到其他系统,也可以单独抽离出来,与其他模块几乎没任何瓜葛,当然这是理想状态,真实生活里很少有这样的模块存在,能把模块的功能职责划分清楚那也是需要相当的水平,很多时候这个功能也可以放在这个模块里,也可以放在那个模块里,到底应该放在哪里更好?应该是用了什么原则?这都是让人头大的事情。