php设计模式

设计模式(Design Patterns)

设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。
在软件开发过程中,一个功能的实现方式多种多样,不同方法的可扩展性、可维护性以及复用性都是不一样的。随着一个人对自己项目代码的要求增加,他会逐渐思考和实践出自己的一套方法或者思想,这种方法或思想决定了他设计出的架构或者编写出的代码的质量优劣。设计模式就属于这样一种经验的积累,是由大量优秀的工程师或者架构师总结和提炼的精华,学习好设计模式等于让我们站在了巨人的肩膀上,从一个高的起点出发,可以避免走很多弯路。

设计模式的使用一定是根据场景来选择的,而且设计模式的实现方式也不是固定的,我们一定要在理解现有设计模式的基础上,根据自己实际的情况不断实践不断理解。就像所谓的《泡妞大全》,读千万遍都不如实践一次来的实际。

如果你对设计模式完全没有感觉,那么去好好写一个类库,或者一个简单的MVC框架,这个过程会让你感觉到自己缺失的部分。

分类

在《设计模式:可复用面向对象软件的基础》这本书中,作者把设计模式分了三大类:

创建型模式

创建型模式是为了解决创建对象时候遇到的问题。因为基本的对象创建方式可能会导致设计上的问题,或增加设计的复杂度。创建型模式有两个主导思想:一是将系统使用的具体类封装起来,二是隐藏这些具体类的实例创建和结合方式。

最常见的五种创建型模式如下:

工厂方法模式
抽象工厂模式
单例模式
建造者模式
原型模式
结构型模式

结构型模式是通过定义一个简单的方法来实现和了解实体间关系,从而简化设计。

适配器模式
桥接模式
合成模式
装饰器模式
门面模式
代理模式
享元模式
行为型模式

行为型模式用来识别对象之间的常用交流模式并加以实现,使得交流变得更加灵活。

策略模式
模板方法模式
观察者模式
迭代器模式
责任链模式
命令模式
备忘录模式
状态模式
访问者模式
中介者模式
解释器模式

posted @ 2015-12-15 23:36  黑夜中晚霞  阅读(248)  评论(0编辑  收藏  举报