logo
0
0
WeChat Login
xieguo<xieguo2007@126.com>
新添加装饰器模式、迭代器模式、代理模式测试代码。11种设计模式测试完毕

PSR-0规范

  1. 命名空间必须与绝对路径一致。

  2. 类名首字母必须大写。

  3. 除去入口文件外,其他“.php”必须只有一个类。

  4. php类文件必须自动载入,不采用include等。

  5. 单一入口。

  6. 文件名与类名一致。

3种基本设计模式

  1. 工厂模式,工厂方法或者类生成对象,而不是在代码中直接new。
  2. 单例模式,使某个类的对象仅允许创建一个。
  3. 注册模式,全局共享和交换对象。

适配器模式

可以将截然不同的函数接口封闭成统一的API,如将mysql mysqli pdo封装成统一的API

策略模式

将一组特定的行为和算法封装成类,以适应某些特定的上下文环境。

数据对象映射模式

是将对象和数据存储存储起来,对一个对象的操作会映射为对数据存储的操作

观察者模式

当一个对象状态发生改变时,依赖它的对象全部会收到通知,并自动更新。观察者模式实现了低耦合,非侵入式的通知与更新机制。

原型模式

原型模式是先创建好一个原型对象,然后通过clone原型对象来创建新的对象。这样就免去了类创建时重复的初始化操作。

原型模式适用于大对象的创建。创建一个大对象需要很大的开销,如果每次new就会消耗很大,原型模式公需内存拷贝即可。

装饰器模式

可以动态地添加修改类的功能;

一个类提供了一项功能 ,如果要在修改并添加额外的功能,传统的编程模式,需要写一个子类继承它,并重新实现类的方法。

使用装饰器模式,仅需要在运行时添加一个装饰器对象即可实现,可以实现最大的灵活性。

迭代器模式

在不需要了解内部实现的前提下,遍历一个聚合对象的内部元素。

代理模式

在客户端与实体之间建立一个代理对象(proxy),客户端对实体进行操作全部委派给代理对象,隐藏实体的具体实现细节。

Proxy还可以与业务代码分离,部署到另外的服务器。业务代码中通过PRC来委派任务。

应用实例:数据库读写分离。