设计模式原则:单一原则 (SRP)、开放-封闭原则(OCP)、依赖倒转原则(DIP)、里氏代换原则(LSP)、迪米特法则(LoD)、合成/聚合复用原则(CARP)。
当然在实际开发中不一定非要完全遵循原则,可以当做一个设计思路来参考。
创建型模式:
创建
1.抽象工厂
提供一个创建一系列或依赖对象的接口,而无需指定他们具体的类。
适用于:
隐藏类实例是如何被创建和放在一起,整个系统关于这些对象所知道的是由抽象类所定义的接口。抽象工厂模式隐藏了创建了什么、谁创建它、他是怎么被创建的,以及何时创建这方面提供了很大的灵活性(DP)
图来自《大话设计模式》
2.建造者
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
3.工厂方法
定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂模式使一个类的实例化延迟到其子类。
如:
4.原型
5.单例
保证一个类只有一个实例,注意多线程情况下的实现。
结构型模式:
6.适配器
7.桥接Bridge
8.组合component
行为型模式:
13.观察者
在引擎等架构十分常见,如windows的消息机制、epoll\iocp等
14.模板方法
21.策略模式
定义一系列算法,把他们一个个封装起来,并使它们可以相互替换,本模式使得算法可独立于使用它的客户而变化、
不定期更新......
“与其抱怨需求总是变化,不如改变开发过程,从而更有效的应对变化。” --《大话设计模式》