面向对象设计六大原则SOLID
- 单一职责原则(Single Responsibility Principle)
就一个类而言,应该仅有一个引起它变化的原因。 - 开闭原则(Open Close Principle)
软件中的对象(类、模块、函数等)应该对于扩展是开放的,对于修改是封闭的。当软件需要变化时,我们应该尽量通过扩展的方式来实现变化,而不是通过修改已有的代码来实现。 - 里氏替换原则(Liskov Substitution Principle)
所有引用基类的地方必须能透明地使用其子类的对象。 - 接口隔离原则(Interface Segregation Principle)
客户端不应该依赖它不需要的接口,另一种定义是:类间的依赖关系应该建立在最小的接口上。 - 依赖倒置原则(Dependence Inversion Principle)
模块间的依赖通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或抽象类产生的。 - 迪米特原则(Law of Demeter),也称为最小知识原则(Least Knowledge Principle)
一个对象应该对其他对象有最少的了解。
设计模式分类
设计模式依据其目的可分为创建型、结构型或行为型三种。
1、 创建型设计模式(5个)
- 工厂模式(Factory Method)
- 抽象工厂模式(Abstract Factory)
- 单例模式(Singleton)
- 原型模式(Prototype)
- 构建者模式(Builder)
2、结构型设计模式(7个)
- 组合模式(Composite)
- 享元模式(Flyweight)
- 适配器模式(Adapter)
- 代理模式(Proxy)
- 桥接模式(Bridge)
- 装饰模式(Decorator)
- 外观模式(Facade)
3、行为型设计模式(11个)
- 命令模式(Command)
- 状态模式(State)
- 责任链模式(Chain of Responsibility)
- 中介者模式(Mediator)
- 访问者模式(Visitor)
- 模版模式(Template Method)
- 解释器模式(Interpreter)
- 迭代器模式(Iterator)
- 备忘录模式(Memento)
- 观察者模式(Observer)
- 策略模式(Strategy)