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