设计模式
文章平均质量分 62
sHuXnHs
这个作者很懒,什么都没留下…
展开
-
创建型模式---工厂模式
1.简单工厂模式 (1)接口中定义一些方法,实现接口的类实现接口中的方法 (2)工厂类中实例对象 Product.php: <?php /** * Created by PhpStorm. * User: 何晓宏 * Date: 2018/9/26 * Time: 19:29 */ namespace IMooc; interface Product{ functio...原创 2018-09-27 11:48:55 · 135 阅读 · 0 评论 -
数据对象映射模式
概念与目的 概念: 描述如何创建提供透明访问任何数据源的对象。数据映射模式,也叫数据访问对象模式,或数据对象映射模式。 目的: 数据映射模式的目的是让持久化数据存储层、驻于内存的数据表现层、以及数据映射本身三者相互独立、互不依赖 简单例子–数据库ORM模型(Object Relational Mapper) database.php mysqli.php <?php /** * Creat...原创 2018-10-10 16:55:53 · 974 阅读 · 0 评论 -
行为型模式---策略模式
概述 定义一些独立的类来封装不同的算法,每一个类封装一个具体的算法,每个封装算法的类称为策略,为了保证策略的一致性,一般会用一个抽象的策略类或接口来做算法的定义,每个算法则对应一个具体策略类。 角色 strategy 抽象策略类 concretestrategy 具体策略类 context 环境类 例子 Strategy.php &lt;?php /** * Created by In...原创 2018-10-09 15:22:03 · 145 阅读 · 0 评论 -
结构型模式---适配器模式
目的 为了适配不同的接口,将一个类的接口转换成可应用的兼容接口,或者是解决现有类中方法名与目标类中方法名定义不一样导致接口无法使用 角色 Adapter适配器:包装不兼容接口的对象 Adaptee适配者:适配的类 应用场景 客户端的数据库适配器 例子——不同数据库连接 适配器Database.php <?php /** * Created by PhpStorm. * Us...原创 2018-09-30 01:24:31 · 139 阅读 · 0 评论 -
创建型模式---原型模式
概念 先创建好一个原型对象,然后通过clone原型对象来创建新的对象。适用于大对象的创建,因为创建一个大对象需要很大的开销,如果每次new就会消耗很大,原型模式仅需内存拷贝即可。 角色 Prototype:抽象原型角色,提供克隆方法的接口 ConcertePrototype:具体的原型角色,实现克隆对象并返回克隆对象 UsePrototype 原型角色的使用者 例子(深拷贝与浅拷贝) P...原创 2018-10-14 02:31:33 · 177 阅读 · 0 评论 -
创建型模式---建造者模式
角色: Builder:抽象建造者,提供建造产品某部分的方法 ConcreteBuilder:具体建造者,具体来建造产品中的某个部分 Director:指挥者,实现建造者模式的接口,选择具体建造者来创建具体的产品 Product:产品 样例 抽象建造者Builder.php &lt;?php /** * Created by PhpStorm. * User: 何晓宏 * Date: ...原创 2018-09-28 16:38:24 · 247 阅读 · 0 评论 -
行为型模式---观察者模式
概念(Observer Pattern) 观察者模式又叫做发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。 一种事件系统,允许某个类观察另一个类的状态,当观察的类状态发生改变的时候,观察类可以收到通知并做出相应的动作,避免组件之间紧密耦合,使得系统更易于扩展。 角色 ...原创 2018-10-12 20:37:10 · 207 阅读 · 0 评论 -
创建型模式---单例模式
1.一个类只能创建一个对象 2.应用:主要应用与数据库应用,可以避免大量的new操作消耗资源 3.UML类图 4.Singleton.php <?php /** * Created by PhpStorm. * User: 何晓宏 * Date: 2018/9/27 * Time: 15:48 */ namespace Singleton; class Singleton{ ...原创 2018-09-27 16:16:11 · 110 阅读 · 0 评论 -
设计模式之禅学习笔记(还没写完)
六大设计原则 1.单一职责原则(SRP) 《there should never be more than one reason for a class to change》:要求一个接口或类只有一个原因引起变化,也就是一个接口或类负责一件事情 好处: 1.类的复杂性减低,实现什么职责都有清晰明确的定义; 2.可读性提高,负责性降低,可读性提高,可维护...原创 2018-08-06 14:34:44 · 166 阅读 · 0 评论 -
结构型模式——装饰器模式Decorator
目的 当一个类增加新的行为的时候有两种方式 继承机制:继承原先的类,在拥有父类的方法同时也可以拥有自己的方法,不过这种方法是静态的,用户无法控制行为增加的方式与时机 关联机制:将一个类的对象嵌入另一个对象(装饰器)中,由另一个对象来决定是都调用该装饰器来扩展自己的行为,可以不需要创建更多的子类对对象的功能进行扩展 UML图 主要角色 Componet:抽象构件(女主播) Concret...原创 2018-10-22 20:13:30 · 289 阅读 · 0 评论