
设计模式
凯丨
你呢个人真系傻傻地嘅,冲冲凉,松松骨,舒筋活络啊。
展开
-
第二节 PHP设计模式(一)—单例模式(Singleton Pattern)
写在开始,凯 建议大家把前五节看完,这样有助于大家将来研究框架源码。主流框架中都有用到这些设计模式,单例、工厂、外观、注册树这几种是支撑TP和laravel框架运行必不可少的设计模式,大家一定要仔细研究一下。单例模式(Singleton Pattern):顾名思义,就是只有一个实例。作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。(一)为...原创 2019-06-06 14:01:49 · 263 阅读 · 0 评论 -
第三节 PHP设计模式(二)—工厂模式(Factor Pattern)
工厂模式(Factor Pattern),就是负责生成其他对象的类或方法,也叫工厂方法模式抽象工厂模式( Abstract Factor Pattern),可简单理解为工厂模式的升级版(一)为什么需要工厂模式1,工厂模式可以将对象的生产从直接new 一个对象,改成通过调用一个工厂方法生产。这样的封装,代码若需修改new的对象时,不需修改多处new语句,只需更改生产对象方法。2,若所...原创 2019-06-06 14:53:52 · 211 阅读 · 0 评论 -
第四节 PHP设计模式(三)—外观模式(门面模式)(Facade Pattern)
外观模式 (Facade Pattern):为子系统中的一组接口提供一个一致的界面,定义一个高层接口,这个接口使得这一子系统更加容易使用。(一)为什么需要外观模式1,开发阶段,子系统越来越复杂,增加外观模式提供一个简单的调用接口。2,维护一个大型遗留系统的时候,可能这个系统已经非常难以维护和扩展,但又包含非常重要的功能,为其开发一个外观类,以便新系统与其交互。3,外观模式可...原创 2019-06-06 15:44:52 · 257 阅读 · 0 评论 -
第五节 PHP设计模式(四)—注册树模式(Registry Pattern)
注册树模式(Registry Pattern ):注册树模式为应用中经常使用的对象创建一个中央存储器来存放这些对象 —— 通常通过一个只包含静态方法的抽象类来实现(或者通过单例模式)。也叫做注册器模式(一)为什么需要注册树模式解决常用对象的存放问题,实现类似于全局变量的功能。Thinkphp和Laravel的容器就是注册树模式。(二)注册树模式UML图这个设计模式的UML图...原创 2019-06-06 16:14:23 · 242 阅读 · 0 评论 -
第六节 PHP设计模式(五)—观察者模式 (observer Pattern)
观察者模式 (observer Pattern): 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。也叫发布-订阅模式(一)为什么需要观察者模式1,一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作2,完美的将观察者和被观察的对象分离开,使得每个类将重点放在某一个功能上,一个对象只做一件事情。3,观...原创 2019-06-06 16:58:04 · 166 阅读 · 0 评论 -
第七节 PHP设计模式(六)—建造者模式(Builder Pattern)
建造者模式(Builder Pattern):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式是一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容就可以构建它们,用户不需要知道内部的具体构建细节。建造者模式属于对象创建型模式。根据中文翻译的不同,建造者模式又可以称为生成器模式。(一)为什么需要建造者模式1,对象的生产需要复杂的初始化,...原创 2019-06-06 17:31:45 · 192 阅读 · 0 评论