摘要:
1. 背景 在软件的生命周期内,因为变化、升级和维护等原因需要对软件原有代码进行修改时,可能会给旧代码中引入错误,也可能会使我们不得不对整个功能进行重构,并且需要原有代码经过重新测试。 2. 定义 一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。 3. 解决方案 当软件需要变化时,尽量通过扩 阅读全文
摘要:
1. 背景 类与类之间的关系越密切,耦合度越大,当一个类发生变化时,对另一个类的影响也越大。 2. 定义 一个类应该对其它类保持最少的了解。 3. 解决方法 尽量降低类与类之间的耦合。 4. 迪米特法则的核心 低耦合 5.迪米特法则深究 只与直接的朋友通信。 每个对象都会与其他对象有耦合关系,只要两 阅读全文
摘要:
1. 背景 类A通过接口I依赖类B,类C通过接口I依赖类D,如果接口I对于类B和类D来说不是最小接口,则类B和类D不得不去实现它们不需要的方法。 2. 定义 一个类对另一个类的依赖应该建立在最小的接口上,不应该依赖他不需要的接口。 3. 解决方案 将臃肿的接口I拆分为独立的几个接口,类A和类C分别于 阅读全文