为了应对各种变动;
为了编写更高质量的代码;
这就需要我们掌握设计模式;
设计模式并不是被创造出来的;
而是程序猿前辈们在开发过程中实验总结出来的;
后来由GOF整理成《Design Patterns: Elements of Reusable Object-Oriented Software》一书;
GOF(Gang of Four) 是 4位作者的合称;
一般叫他们 4人帮 ;
他们把设计模式划分为3类总共23种;
创建型:单例、抽象工厂、建造者、工厂、原型;
结构型:适配器、桥接、装饰、组合、外观、享元、代理;
行为型:模版方法、命令、迭代器、观察者、中介者、备忘录、解释器、状态、策略、职责链、访问者;
设计模式的宗旨是重用;
目的是建立对象间的关联;
提供了让代码之间松耦合的各种方案;
它有两个原则:
1. 按接口编程而不是按实现来编程
2. 优先使用组合而不是继承
推荐3本设计模式的书:
- 《Learning PHP设计模式》 ————桑德 (William Sanders)
- 《大话设计模式》 ————程杰
- 《深入PHP:面向对象、模式与实践》———— Matt Zandstra