本篇文章主要介绍设计模式的相关概念。
什么是设计模式
百度百科:
设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。
设计模式的作用
使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。
设计原则
- 单一职责原则
规定一个类应该只有一个发生变化的原因。 - 开闭原则
模块应对扩展开放,而对修改关闭。 - 里氏替换原则
如果调用的是父类的话,那么换成子类也完全可以运行。 - 依赖反转原则
指在软件里面,把父类都替换成它的子类,程序的行为没有变化。 - 接口隔离原则
每一个接口应该是一种角色,不多不少,不干不该干的事,该干的事都要干。 - 聚合服用原则
在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分。
设计模式
设计模式分为三种类型,共23种。
- 创建型模式:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。
- 结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。
- 行为型模式:模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式(Interpreter模式)、状态模式、策略模式、职责链模式(责任链模式)、访问者模式。
后面的章节将细说每一种模式。代码实例统一采用PHP实现,请各位耐心的PHPer挨个看下去,代码质量取决于思想,而思想就靠设计模式来表达。