好篱笆促成好邻居,良好的模块内聚与耦合促成良好的软件架构。
几个与模块化软件设计相关联的设计思想,正交性、得墨忒耳法则、高内聚低耦合。良好的软件模块化设计,为今后产品的维护带来极大的便利。传统软件编写中,对某个模块或某一片段的代码进行简单的修改,会因为蝴蝶效应传递到系统中的其他无关部分,由于相互错杂的依赖关系,使产品难以进行维护,维护着常常望而却步。在模块化软件编写中,可以减少这种害怕,并且由于某一模块出现问题需要进行更替时,可以快速对该模块进行更换,不会影响到其它模块的正常工作。
函数的得墨忒耳法则规定,某个对象的任何方法都应该只调用属于以下情形的方法:
1. 它自身
2. 传入该方法的任何参数
3. 它创建的任何对象
4. 任何直接持有的组件对象
使用得墨忒耳法则使你的代码适应性更好、更健壮,但也有代价编写大量的包装方法(它们只是把请求转发给被委托者)会带来运行时代价,也会带来空间的开销。在有些应用中,这可能会有重大影响,特别是在一些嵌入式应该中,稀有有内存及使用空间,你可能要在这两者中进行折衷。