三大类设计模式:
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
除持之外,还有两类:并发型模式和线程池模式。
六项设计模式原则:
1、开闭原则,就是说对扩展开放,对修改关闭。使用接口和抽象类,来实现自己想要的效果,不能修改原有的代码。
2、里氏代换原则,就是说抽取更高层次的父类,以满足不同子类的具体要求,例子参照长方形-正方形-四边形。
3、依赖倒置原则,就是不要根据具体类而开发抽象类,要面向抽象去编程,避免因具体类改变而去变动抽象类。
4、接口隔离原则,就是接口功能单一化,简化接口,接口依赖最小化,即,实现多个简单接口而不是一个臃肿的接口。
5、最少知道原则,就是不同实体类之间尽量减少相互联系;如果非要,记住friend class 。
6、合成复用原则,就是父子类单一发生变化会影响其他另一方的现象不应使用继承;尽量少使用继承,用服用合成,调用对象等形式,代替集成。
常用设计模式:
工厂模式:实例化对象的地方,用来生产“产品”。
单例模式:核心服务,仅仅实例化一个对象,免得出事儿!
中介模式:大家相互之间少交流,有事找中介。
代理模式:
观察者模式: