![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
Leiow
当你的才华还撑不起你的野心时,那你就应该静下心来学习。当你的经济还撑不起你的梦想时,那你就应该踏实的工作
展开
-
PHP 代理模式
代理模式(Proxy Pattern),也叫做委托模式,为其他对象提供一种代理以控制对这个对象的访问代理模式的优点职责清晰,真实的角色就是实现实际的业务逻辑,不用关心其他非本职责的事务,通过后期的代理完成一件事务,附带的结果就是编程简洁清晰。高扩展性。智能化。代理模式的扩展普通代理:客户端只需要获取代理的对象,即可完成操作,无需知道真实角色是什么。<?phpnamespace patter原创 2016-10-21 15:30:55 · 588 阅读 · 0 评论 -
PHP 装饰者模式
动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活。装饰模式的组成Component抽象构件:一个接口或者是抽象类,就是定义最核心的对象,也就是最原始的对象;ConcreteComponent具体构件:是最核心、最原始、最基本的接口或抽象类的实现,要装饰的就是这个;Decorator装饰角色:一般是一个抽象类,用于实现接口或抽象方法,其中不一定有抽象的方法,但其属性原创 2016-11-18 10:10:43 · 313 阅读 · 0 评论 -
PHP 责任链模式
使多个对象都有机会处理请求,从而避免了请求的发送者和接收者指间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。责任链模式的优点责任链模式非常显著的优点是将请求和处理分开。请求者可以不用知道是谁处理的,处理者可以不用知道请求的全貌,两者解耦,提高系统的灵活性。责任链模式的缺点性能问题,每个请求都是从链头遍历到链尾,特别是在链比较长的时候,性能是一个非常大的问题;调原创 2016-11-17 11:42:15 · 661 阅读 · 0 评论 -
PHP 工厂模式
定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类工厂模式提供了一种较为便捷的扩展方式,项目可以根据需求的不同,进行新的规范的增加,类型的扩展。同样,这样降低了团队开发的成本,只要规范定义完成,团队就可以开始进行各个模块的开发,而不会影响其他模块。 工厂模式的优点: 良好的封装性,代码结构清晰。一个对象创建是有条件约束的,如一个调用者需要一个原创 2016-10-19 09:45:36 · 282 阅读 · 0 评论 -
PHP 建造者模式
建造者模式(Builder Pattern)也叫做生成器模式,其定义为:将一个复杂对象的构造与它的表示分离,使得同样的构造过程可以创建不同的表示。在建造者模式中,有如下4个角色:Product产品类:通常是实现了模板方法模式,也就是有模板方法和基本方法。Builder抽象建造者:规范产品的组件,一般是由子类实现。ConcreteBuilder具体建造者:实现抽象类定义的所有方法,并且返回一个组建原创 2016-10-21 09:23:14 · 1024 阅读 · 0 评论 -
PHP 命令模式
命令模式是一种高内聚的模式,其定义为:将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或记录请求日志,可以提供命令的撤销和恢复功能。命令模式组成Receive接收者角色:该角色就是干活的角色,命令传递到这里是应该被执行的。Command命令角色:需要执行的所有命令都在这里声明。Invoker调用者角色:接收到命令,并执行命令。命令模式的优点类间解耦:调用者角色与接收者转载 2016-10-25 21:10:50 · 583 阅读 · 0 评论 -
PHP 中介者模式
用一个中介对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使其耦合松散,并且可以独立地改变它们指间的交互。中介者模式的组成Mediator抽象中介者角色:抽象中介者角色定义统一的接口,用于各同事角色之间的通信。Concrete Mediator具体中介者角色:具体中介者角色通过协调各同事角色实现协作行为,因此它必须依赖于各个同事角色。Colleague同事角色:每一个同事角色都原创 2016-10-24 11:33:04 · 663 阅读 · 0 评论 -
PHP 原型模式
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象原型模式的优点性能优良。原型模式是在内存二进制流的拷贝,要比直接new一个对象性能好很多,特别是要在一个循环体内产生大量的对象时,原型模式可以更好地体现其优点。逃避构造函数的约束。这个既是优点也是缺点。原型模式的使用场景资源优化场景。类初始化需要消耗非常多的资源,这个资源包括数据、硬件资源等。性能和安全要求的场景。通过new产生一个原创 2016-10-21 15:38:45 · 301 阅读 · 0 评论 -
PHP 模板方法模式
定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。模板方法模式中会用到抽象模板,它的方法分为两类: 基本方法,也叫做基本操作,是由子类实现的方法,并且在模板方法被调用。模板方法,可以有一个或多个,一般是一个具体方法,也就是一个框架,实现基本方法的调度,完成固定逻辑。注意: 为了防止恶意的操作,一般模板方法都加上final关键字原创 2016-10-20 01:16:29 · 602 阅读 · 0 评论 -
PHP 装饰模式
动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活。装饰模式的组成Component抽象构件:一个接口或者是抽象类,就是定义最核心的对象,也就是最原始的对象;ConcreteComponent具体构件:是最核心、最原始、最基本的接口或抽象类的实现,要装饰的就是这个;Decorator装饰角色:一般是一个抽象类,用于实现接口或抽象方法,其中不一定有抽象的方法,但其属性原创 2016-11-18 16:00:00 · 289 阅读 · 0 评论