PHP设计模式之命令模式

2016-11-22
阅读 2 分钟
2.9k
将来自客户端的请求传入一个对象,从而使你可用不同的请求对客户进行参数化。用于“行为请求者”与“行为实现者”解耦,可实现二者之间的松耦合,以便适应变化。

PHP设计模式之迭代器模式

2016-11-21
阅读 4 分钟
5.6k
当你需要访问一个聚合对象,而且不管这些对象是什么都需要遍历的时候,就应该考虑使用迭代器模式。另外,当需要对聚集有多种方式遍历时,可以考虑去使用迭代器模式。迭代器模式为遍历不同的聚集结构提供如开始、下一个、是否结束、当前哪一项等统一的接口。

PHP设计模式之代理模式

2016-11-21
阅读 3 分钟
6.7k
抽象主题角色(Subject):定义了RealSubject和Proxy公用接口,这样就在任何使用RealSubject的地方都可以使用Proxy。

PHP设计模式之装饰器模式

2016-11-21
阅读 3 分钟
6.3k
装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。

PHP设计模式之原型模式

2016-11-19
阅读 4 分钟
4.5k
Prototype原型模式是一种创建型设计模式,Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节。

PHP设计模式之观察者模式

2016-11-19
阅读 4 分钟
5k
概念 观察者模式属于行为模式,是定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新。 当一个对象状态发生改变后,会影响到其他几个对象的改变,这时候可以用观察者模式。 观察者模式符合接口隔离原则,实现了对象之间的松散耦合。 别名 发布-订阅<Subscri...

PHP设计模式之策略模式

2016-11-18
阅读 3 分钟
9.8k
简介 策略模式定义了算法族,分别封装起来,让他们之间可以相互替换。该模式让算法独立于使用它的客户而独立变化。 组成 抽象策略角色: 策略类,通常由一个接口或者抽象类实现。 具体策略角色:包装了相关的算法和行为。 环境角色:持有一个策略类的引用,最终给客户端调用。 应用场景 多个类只区别在表现行为不同,可...

PHP设计模式之适配器模式

2016-11-17
阅读 5 分钟
4.9k
简介 适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起。 UML 角色 Target适配目标 : 该角色定义把其他类转换为何种接口,也就是我们的期望接口。 Adaptee被适配者 :就是需要被适配的接口。 Adapter适配器:其他的两个角色...

PHP设计模式之注册树模式

2016-11-16
阅读 4 分钟
7.7k
注册树模式又称注册模式或注册器模式。注册树模式通过将对象实例注册到一棵全局的对象树上,需要的时候从对象树上采摘的模式设计方法。和果树不同的是,果子只能采摘一次,而注册树上的实例却可以无数次获取。

PHP设计模式之单例模式

2016-11-14
阅读 2 分钟
3.5k
简介 单例模式是指整个应用中类只有一个对象实例的设计模式。它通常被用来创建对象,确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 它是一种常见的设计模式,在计算机系统中,线程池、缓存、日志对象、对话框、打印机、数据库操作、显卡的驱动程序常被设计成单例。 特点 一个类在整个应用中有且只...

PHP设计模式之工厂模式

2016-11-14
阅读 5 分钟
15.1k
使用工厂模式的好处是,如果你想要更改所实例化的类名等,则只需更改该工厂方法内容即可,不需逐一寻找代码中具体实例化的地方(new处)修改了。为系统结构提供灵活的动态扩展机制,减少了耦合。

聊一聊PHP的依赖注入(DI) 和 控制反转(IoC)

2016-10-19
阅读 3 分钟
26k
最近在使用ThinkPHP5框架,看了下他的源码,发现有很多地方也用到了依赖注入(控制反转),觉得有必要和大家简单聊一聊什么是依赖注入以及怎么使用它。