设计模式的分类和具体模式 总体来说设计模式分为三大类: (1)创建型模式——共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原 型模式。 (2)结构型模式——共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、 组合模式、享元模式。 (3)行为型模式——共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责 任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式 接下来我们来介绍一些设计模式以及它的作用1)单例模式:保证一个类仅有一个实例,并提供一个访问他的全局访问点例如框架中的 数据库连接 (2)简单工厂模式:它具有创建对象的某些方法,可以使用工厂类创建对象,而不直接使 用 new。例如初始化数据库的时候会用到,比如 MySQL,MSSQL (3)策略模式:针对一组算法,将每一个算法封装到具有共同接口的独立的类中,例如进 入个人主页时,根据浏览者的不同,给予不同的显示与操作 北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090 (4)注册模式:提供了在程序中有条理的存放并管理一组全局对象 (object),例如 ZF 框 架中的 Zend_Registry::set (5)适配器模式:将不同接口适配成统一的 API 接口,例如数据操作有 mysql、mysqli、 pdo 等,可利用适配器模式统一接口 (6)观察者模式:一个对象通过添加一个方法使本身变得可观察。当可观察的对象更改时, 它会将消息发送到已注册的观察者。例如实现实现消息推送 (7)装饰器模式:不修改原类代码和继承的情况下动态扩展类的功能,例如框架的每个 Controller 文件会提供before 和 after 方法 (8)迭代器模式:提供一个方法顺序访问一个聚合对象中各个元素,在 PHP 中将继承 Iterator 类 (9)原型模式:实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象 的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建
|