php 设计模式
2016-12-18 本文已影响0人
jinjiangtao
设计模式是对反复出现的经典问题,提出的一种合理的解决方案。设计模式按照解决的问题类型可以分为以下3种。创建型、结构型、行为型
创建型
创建型用来处理类和对象实例化
- 抽象工厂模式
抽象工程方法就是通过抽象类定义特定的方法,让子类来实现,最后通过不同的参数获取不同的实例,使具有相同方法名字的函数完成相同的功能,但完成细节不同,也可以使相同方法名的函数完成不同的功能。 - 单例模式
单例模式是为了满足在一次请求过程中同一个class 不会因为代码的多处调用而创建多个实例,单例的实现主要通过私有化构造方法和克隆对象时调用的魔术方法,并对外提供单一的获取对象的入口的方法来实现。当然在对象内部还的申明一个静态变量来保存对象本身。 - 对象池模式
对象池模式是在对象创建的时候从一个对象容器中检查是否具有这个对象,如果有就直接拿出来用,没有就创建且将创建好的对象放入对象池容器。从对象池中拿的对象在使用完后应归还对象池而不是销毁。 - 原型模式
原型设计模式就是在通过同一个class 在创建对象时,不是去new 一个object 而是通过已有的对象去clone 一个object。
结构型
结构型用来处理类和对象的组合
1、适配器模式
适配器就是在类和对象使用的时候添加一个中间层,对不同的对象封装不同的方法。
2、装饰器模式
3、依赖注入模式
在一个类中需要的用到令一个类的封装的全部方法时,我们可以将这个类的属性实例化成需要调用类的的对象,实例化的时机可以封装到构造方法中,但这样会耦合严重,我们可以在这个类中定义一个set方法去设置这个属性为另一个类的实例。这种方式就是依赖注入。
行为型
行为型用来处理类和对象的通信
1、观察者模式