设计模式总结
设计模式分类
创建型
- Abstract Factory
- Builder
- Factory Method
- ProtoType
- Singleton
结构型
- Adapter
- Bridge
- Composite
- Decorator
- Facade
- FlyWeight
- Proxy
行为型
- Chain of Responsibility
- Command
- Interpreter
- Iterator
- Mediator
- Memento
- Observer
- State
- Strategy
- Template Method
- Visitor
设计的指导思想
可维护性(Maintainability)
- 修改代码,需要改动的地方越少,可维护性就越好
可复用性(Reusability)
- 代码以后可以被重复使用
- 写出自己总结的类库
可扩展性(Extensibility)
- 添加功能无需修改原来的代码
灵活性(Flexibility)
- 代码接口可以灵活调用
面向对象六大原则
单一职责原则
Single Responsibility Principle
- 一个类只负责一个职责
- 高内聚 低耦合
开闭原则
Open-Closed Principle
- 对扩展开放,对修改关闭
- 尽量不修改原来的代码的情况下进行扩展
- 抽象化,多态是开闭原则的关键
里氏替换原则
Liscov Substitution Principle
- 所有使用父类的地方,必须能够透明的使用子类对象
- 子类能够完全替代父类
依赖倒置原则
Dependency Inversion Principle
- 依赖抽象,而不是依赖具体
- 面向抽象编程,面向接口编程(里面的实现可以随便变更)
接口隔离原则
Interface Segregation Priciple
- 每一个接口承担独立原则
- 避免子类实现不需要实现的方法
- 对客户提供接口时,只需要暴露最小的接口
迪米特法则
Law of Demeter
- 尽量不要和陌生人说话
- 迪米特法则中的非陌生人:
- 当前对象本身
- 以参数形势传入当前对象方法中的对象
- 当前对象的成员对象
- 如果当前对象的成员对象是一个集合,那么集合中的其他元素也可以使用
- 当前对象所创建的对象
- 和其他类的耦合度变低(高内聚 低耦合)