《大话设计模式》读书笔记
面向对象基础
- 类是对对象的抽象,抽象类是对类的抽象,接口是对行为的抽象。
- 如果行为跨越不同类的对象,可使用接口;对于一些相似的类对象,用继承抽象类
抽象类是自底向上抽象出来的,接口是自顶向下的设计,也就是接口是预设计,抽象类是后抽象。
所有设计模式都是为了维护的方便,如果你的代码确定不需复用,阅后即焚,则设计模式是多余的。
敏捷开发:通过重构改善既有代码的设计
单一职责原则:就一个类应该只有一个引起它改变的原因
开放-封闭原则:对于扩展开发,对于更改封闭
依赖倒转原则:高层模块不应该依赖底层模块,两个都应该依赖抽象;抽象不应该依赖细节,细节应该依赖抽象。
里式代换原则:依赖父类则可用子类代替,反之则不可(子类型必需能够替换父类型)
迪米特法则:如果两个类不必彼此相互相互通信,那么这两个类就不应该发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法,可以通过第三者转发这个调用。