Gof 设计模式
设计模式的用途(参考)
设计模式代表了最佳实践,通常被有经验的面向对象的软件开发人员采用。设计模式是软件开发人员在软件开发过程中面临一般问题的解决方案。这些解决方案是众多软件开发人员在相当长的时间的实验和错误总结出来的。
设计模式有哪些?
创建型 :
简单工厂、抽象工厂、单例模式、原型模式、建造者模式
结构型 :
适配器、装饰器、代理、外观、桥接、组合、享元
行为型:
策略、模板方法、观察者、迭代子、责任链、命令、备忘录、状态、访问者、中间者、解释器
设计模式的六大原则
1.开闭原则
对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能修改原有的代码,实现热拔插效果。简而言之,为了程序的扩展性好,易于维护升级,想要达到这样的效果,我们需要使用接口与抽象类。
2.里氏代换原则
任何基类出现的地方,子类一定可以出现。LSP 是继承复用的基石,只有当派生类可以替换掉基类,且软件功能不受影响时,基类才能够正真的被复用。里氏替换原则是对开闭原则的补充。实现开闭原则的关键就是抽象化,而基类与子类的关系就是抽象化的具体实现。
3. 依赖倒转原则
是开闭原则的基础,针对接口编程,依赖于抽象而不依赖于具体
4.接口隔离原则
使用多个隔离的接口比使用单个接口要好。降低类之间的耦合度。
5.迪米尔特法则,又称为最少知道原则
一个实体应当尽量少的与其他实体之间互相作用,使得系统模块相对独立
6.合成复用原则
尽量使用合成/聚合的方式,而不是使用继承