![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
Frog2Top
假装会写代码
展开
-
工厂模式
工厂模式工厂方法模式,又称工厂模式、多态工厂模式和虚拟构造器模式,通过定义工厂父类负责定义创建对象的公共接口,而子类则负责生成具体的对象定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行应用场景:主要解决接口选择的问题,我们明确地计划不同条件下创建不同实例时;解决简单工厂模式的缺点,之所以可以解决简单工厂的问题,是因为工厂方法模式把具体产品的创建...原创 2019-07-13 15:21:32 · 80 阅读 · 0 评论 -
适配器模式
适配器模式适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以通过笔记本来读取内存卡适配器包括类的适配器和对象的适配器,将一个类...原创 2019-07-13 16:41:36 · 75 阅读 · 0 评论 -
注册树模式
注册树模式注册模式(Registry)也叫做注册树模式,注册器模式。注册模式为应用中经常使用的对象创建一个中央存储器来存放这些对象 —— 通常通过一个只包含静态方法的抽象类来实现(或者通过单例模式)abstract class Registry{ protected static $storedValues = []; public static function set...原创 2019-07-13 15:32:37 · 318 阅读 · 0 评论 -
抽象工厂模式
抽象工厂模式抽象工厂模式与工厂方法模式最大的区别:抽象工厂中每个工厂可以创建多种类的产品;而工厂方法每个工厂只能创建一类允许使用抽象的接口来创建一组相关产品,而不需要知道或关心实际生产出的具体产品是什么,这样就可以从具体产品中被解耦,解决了工厂模式的每个工厂只能创建一类产品优点:降低耦合,抽象工厂模式将具体产品的创建延迟到具体工厂的子类中,这样将对象的创建封装起来,可以减少客户端与具体产品...原创 2019-07-13 15:23:56 · 140 阅读 · 0 评论 -
再探面向对象
类的定义每个类的定义都以关键字 class 开头,后面跟着类名,后面跟着一对花括号,里面包含有类的属性与方法的定义一个类可以包含有属于自己的常量,变量(属性)以及函数(方法)当一个方法或属性在类定义内部被调用时,有一个可用的伪变量 $this面向对象的基本原则:高内聚,低耦合class SimpleClass { //声明属性 public $var = 'var i...原创 2019-07-11 23:27:52 · 123 阅读 · 0 评论 -
再探面向对象补充
面向对象扩展面向对象:一直把对象放在心上,实质上就是把生活中的要解决的问题都用对象的方式进行存储,对象之间是可以互动的对象的组成:属性与方法对象的特点:独一无二的特定事物,可以重复使用面向对象基本思路:识别对象,识别对象的属性,识别对象的行为面向对象的基本原则:对内是高内聚,对外是低耦合面向对象的目的达到代码的重用性 灵活性 扩展性类常量是属于类的类 接口 函数 常量都会受命名空...原创 2019-07-12 21:34:46 · 70 阅读 · 0 评论 -
设计模式的设计原则
单一职责原则一个类只有一个引起它变化的原因,如果一个类承担的职责过多,即耦合性太高,一个职责的变化可能会影响到其他的职责开放封闭原则对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。简言之,是为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类里氏代替原则子类必须替换掉它们的父类型在软件开发过程中,子类...原创 2019-07-13 10:18:04 · 86 阅读 · 0 评论 -
单例模式
命名空间PHP 命名空间可以解决以下两类问题:用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突。为很长的标识符名称(通常是为了缓解第一类问题而定义的)创建一个别名(或简短)的名称,提高源代码的可读性。自动加载spl_autoload_register函数实现自动加载功能,支持匿名函数,函数名字符串,数组等传参方式PSR-0规范命名空间必须与绝对路径...原创 2019-07-13 15:19:29 · 62 阅读 · 0 评论 -
简单工厂模式
简单工厂模式简单工厂模式又叫静态方法模式,现实生活中,工厂是负责生产产品的;同样在设计模式中,简单工厂模式我们可以理解为负责生产对象的一个类,称为工厂类静态工厂模式只使用一个静态方法来创建所有类型对象, 此方法通常被命名为 factory 或 build优点:将创建实例的工作与使用实例的工作分开,使用者不必关心类对象如何创建,实现了解耦;把初始化实例时的工作放到工厂里进行,使代码更容易维护...原创 2019-07-13 15:20:31 · 76 阅读 · 0 评论 -
策略模式
策略模式在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法class Context{ /** * @var ComparatorInterface ...原创 2019-07-13 17:34:38 · 81 阅读 · 0 评论