
设计模式
鼬用天照
让你难过的事,总有一天你会笑着说出来
展开
-
PHP设计模式之职责链模式
以下文字部分均为本人自己的想法与总结所以未必正确;参考https://blog.youkuaiyun.com/jhq0113/article/details/46454419https://github.com/flyingalex/design-patterns-by-php/blob/master/files/chapter24.md定义:包含了一些命令对象和一些处理对象,每个处理对象决定...原创 2020-03-02 19:36:55 · 214 阅读 · 0 评论 -
PHP设计模式之命令模式
以下文字部分均为本人自己的想法与总结所以未必正确;参考https://www.cnblogs.com/dawuge/p/9400831.htmlhttps://github.com/flyingalex/design-patterns-by-php/blob/master/files/chapter23.md定义:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化...原创 2020-03-02 19:29:34 · 152 阅读 · 0 评论 -
PHP设计模式之迭代模式
以下文字部分均为本人自己的想法与总结所以未必正确;参考https://www.cnblogs.com/xuwendong/p/9898030.htmlhttps://github.com/flyingalex/design-patterns-by-php/blob/master/files/chapter20.md定义:迭代器模式提供了一种方法顺序访问一个聚合对象中的各个元素...原创 2020-03-02 17:53:12 · 171 阅读 · 0 评论 -
PHP设计模式之模板方法模式
以下文字部分均为本人自己的想法与总结所以未必正确;参考https://github.com/flyingalex/design-patterns-by-php/blob/master/files/chapter10.md定义:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤优点:1、封装不变部分,扩展可变部...原创 2020-03-02 17:29:14 · 131 阅读 · 0 评论 -
PHP设计模式之策略模式
以下文字部分均为本人自己的想法与总结所以未必正确;参考https://www.cnblogs.com/qixuejia/p/4370270.html策略模式: 概述: 策略模式就是用来封装算法的,但在实践中,我们发现可以用它来封装几乎任何类型的规则,只要在分析过程中听到需要在不同时间应用不同的业务规则,就可以考虑使用策略模式处理这种变化的可能性。 策略模式是一种定...原创 2020-02-25 17:51:55 · 151 阅读 · 0 评论 -
PHP设计模式之享元模式
以下文字部分均为本人自己的想法与总结所以未必正确;代码摘自https://blog.youkuaiyun.com/rust94/article/details/88895465享元模式: 概念: 运用共享技术有效地支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。由于享元模式要求能够共享的对象必须是细粒度对象,因此它又称为轻量级模式,...原创 2019-09-05 16:30:36 · 131 阅读 · 0 评论 -
PHP设计模式之抽象工厂模式
以下文字部分均为本人自己的想法与总结所以未必正确;抽象工厂模式: 概述:抽象工厂模式对同一类产品实现了封装,上层应用(客户端)只需调用相应的工厂接口来创建具体的产品,无需关心产品是如何创建优点: 1、解耦, 分离了客户端和类,客户端只需要去找相应的工厂,则可以得到所需的产品 2、易于扩展,当水果厂添加某项功能...原创 2019-07-10 11:31:12 · 116 阅读 · 0 评论 -
PHP设计模式之工厂方法模式
以下文字部分均为本人自己的想法与总结所以未必正确;代码部分摘录自https://github.com/flyingalex/design-patterns-by-php工厂方法模式: 优点:弥补了简单工厂的确点,即当要修改类的时候工厂类也需要做出相对应的更改。之所以可以解决简单工厂的问题,是因为工厂方法模式把具体产品的创建推迟到工厂类的子类(具体工厂)中,此时工厂类不再负责...原创 2019-07-09 17:32:32 · 142 阅读 · 0 评论 -
PHP设计模式之简单工厂模式
以下文字部分均为本人自己的想法与总结所以未必正确;代码部分摘录自https://github.com/flyingalex/design-patterns-by-php简单工厂模式: 优点:将调用者与创建者分离,调用者直接向工厂请求,减少代码的耦合(也就是说对象的创建交由工厂类负责),提高系统的可维护性与可扩展性 缺点:当要修改类的时候,工厂类也需要做出相对应的更改...原创 2019-07-09 16:59:27 · 129 阅读 · 0 评论 -
PHP设计模式之观察者模式
以下文字部分均为本人自己的想法与总结所以未必正确;代码摘自https://blog.youkuaiyun.com/rust94/article/details/88895465外观模式: 外观模式定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。角色: 1、抽象主题(Subject): 它把所有观察者对象的...原创 2019-07-17 16:02:22 · 128 阅读 · 0 评论 -
PHP设计模式之外观模式
以下文字部分均为本人自己的想法与总结所以未必正确;代码摘自https://blog.youkuaiyun.com/rust94/article/details/88895465外观模式: 概念: 外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式又称为门面模式,它是一种对象结...原创 2019-07-17 15:42:32 · 157 阅读 · 0 评论 -
PHP设计模式之装饰模式
以下文字部分均为本人自己的想法与总结所以未必正确;代码摘自https://blog.youkuaiyun.com/rust94/article/details/88895465装饰模式: 概念: 装饰模式(又称包装模式)就是把要添加的附加功能分别放在单独的类中,并让这个类包含它要装饰的对象,当需要执行时,客户端就可以有选择地、按顺序地使用装饰功能包装对象。角色: 抽象...原创 2019-07-12 11:35:02 · 131 阅读 · 0 评论 -
PHP设计模式之适配器模式
以下文字部分均为本人自己的想法与总结所以未必正确;代码摘自https://blog.youkuaiyun.com/rust94/article/details/88895465适配器模式: 什么是适配器:适配器的存在,就是为了将已存在的东西(接口)转换成适合我们需要、能被我们所利用的东西。在现实生活中,适配器更多的是作为一个中间层来实现这种转换作用。比如电源适配器,它是用于电流变换(...原创 2019-07-11 11:38:54 · 104 阅读 · 0 评论 -
PHP设计模式之建造者模式
以下文字部分均为本人自己的想法与总结所以未必正确;代码部分摘录自 https://github.com/flyingalex/design-patterns-by-php建造者模式: 概念:建造者模式(Builder Pattern)也叫做生成器模式,其定义为:将一个复杂对象的构造与它的表示分离,使得同样的构造过程可以创建不同的表示。 适用:当创建复杂对象...原创 2019-07-10 17:32:39 · 117 阅读 · 0 评论 -
PHP设计模式之原型模式
以下文字部分均为本人自己的想法与总结所以未必正确;代码部分摘录自https://github.com/flyingalex/design-patterns-by-php原型模式: 概念:原型模式是先创建好一个原型对象,然后通过clone原型对象来创建新的对象。适用于大对象的创建,因为创建一个大对象需要很大的开销,如果每次new就会消耗很大,原型模式仅需内存拷贝即可。【主...原创 2019-07-10 16:50:20 · 112 阅读 · 0 评论 -
PHP设计模式之单例模式
以下文字部分均为本人自己的想法与总结所以未必正确;代码部分摘录自https://github.com/flyingalex/design-patterns-by-php单例模式: 概念:确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例 特点:三私一公 私有的构造方法 (防止类外实例化) ...原创 2019-07-10 16:21:07 · 102 阅读 · 0 评论 -
设计模式的分类
设计模式的分类:1、创建型模式,共五种:单例模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式。2、结构型模式,共七种:适配器模式、装饰者模式、代理模式、门面模式(外观模式)、桥梁模式、组合模式、享元模式。3、行为型模式,共十一种:策略模式、模版方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式...转载 2019-07-10 13:34:16 · 265 阅读 · 0 评论 -
PHP设计模式之代理模式
以下文字部分均为本人自己的想法与总结所以未必正确;代码摘自https://blog.youkuaiyun.com/rust94/article/details/88895465代理模式: 概念: 代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。适用场景:中介隔离作用:在某些情况下,一个客户类不想或者不能直接引用一个委托对象,而代理类对象可以在客户类和委托对象...原创 2019-07-12 17:08:56 · 124 阅读 · 0 评论