摘要: 定义: 装饰器模式又叫装饰者模式。装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。 适用场景: 需要动态的给一个对象添加功能,这些功能可以再动态的撤销。 需要增加由一些基本功能的排列组合而产生的非常大量的功能,从而使继承 阅读全文
posted @ 2021-06-12 21:03 方达达 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 原型模式的作用:对象克隆以避免创建对象时的消耗 特点: 与工厂模式类似,都是用来创建对象。 与工厂模式的实现不同,原型模式是先创建好一个原型对象,然后通过clone原型对象来创建新的对象。这样就免去了类创建时重复的初始化操作。 原型模式适用于大对象的创建,创建一个大对象需要很大的开销,如果每次new 阅读全文
posted @ 2021-06-11 14:34 方达达 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 定义: 观察者模式(Observer),当一个对象状态发生变化时,依赖它的对象全部会收到通知,并自动更新。 目的: 一个事件发生后,要执行一连串更新操作。传统的编程方式,就是在事件的代码之后直接加入处理的逻辑。当更新的逻辑增多之后,代码会变得难以维护。这种方式是耦合的,侵入式的,增加新的逻辑需要修改 阅读全文
posted @ 2021-06-10 08:58 方达达 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 策略模式:将一组特定的行为和算法封装成类,以适应某些特定的上下文环境。 假如有一个电商网站系统,针对男性女性用户要各自跳转到不同的商品类目,并且所有的广告位展示不同的广告。在传统的代码中,都是在系统中加入各种if else的判断,硬编码的方式。如果有一天增加了一种用户,就需要改写代码。使用策略模式, 阅读全文
posted @ 2021-06-09 09:00 方达达 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 什么叫适配: 适配器模式其实也是一种为了解耦的设计模式,为了让客户端的调用变得更简单统一,将源接口转换为目标接口的过程封装到特定的过程中,这个过程就叫适配 目的: 适配器模式将原本不兼容的接口转换为客户期望的接口,使得原本由于接口不兼容而不能一起工作的类能够一起工作。 应用场景: 封装有缺陷的接口设 阅读全文
posted @ 2021-06-07 09:11 方达达 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 注册树模式当然也叫注册模式,注册器模式。注册树模式通过将对象实例注册到一棵全局的对象树上,需要的时候从对象树上采摘的模式设计方法 为什么要采用注册树模式? 单例模式解决的是如何在整个项目中创建唯一对象实例的问题,工厂模式解决的是如何不通过new建立实例对象的方法。 那么注册树模式想解决什么问题呢? 阅读全文
posted @ 2021-06-06 10:33 方达达 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 作用:提供获取某个对象实例的一个接口,同时使调用代码避免确定实例化基类的步骤,实际上就是建立一个统一的类实例化的函数接口,完成统一调用,统一控制。 工厂模式也分为三种: 工厂模式 抽象工厂模式 工厂模式 <?php // 接口 interface ToData { public function g 阅读全文
posted @ 2021-06-05 08:55 方达达 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 单例模式 记住口诀三私一公 单例模式是最常见的模式之一,在Web应用的开发中,常常用于允许在运行时为某个特定的类创建仅有一个可访问的实例。 特点 $_instance必须声明为静态的私有变量; 构造函数和析构函数必须声明为私有,防止外部程序new 类从而失去单例模式的意义; getInstance( 阅读全文
posted @ 2021-06-04 09:04 方达达 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 不论是什么语言开发,都离不开设计模式,在我们php知识里面,很多时候都在涉及到设计模式,常用的框架里面几乎都有用到,只是我们很少留意这些,所有很有必要了解学习一下 php设计模式其实很多种,但我们这里将的是常见的设计模式,就是人们常说的八大设计模式 单例模式 工厂模式 注册模式 适配器模式 策略模式 阅读全文
posted @ 2021-06-03 09:03 方达达 阅读(128) 评论(0) 推荐(0) 编辑
摘要: exif 类函数有如下几个 exif_imagetype exif_read_data (read_exif_data 别名)exif_tagnameexif_thumbnail exif_imagetype 判断一个图像的类型 exif_read_data 从 JPEG 或 TIFF 文件中读取 阅读全文
posted @ 2021-06-02 08:58 方达达 阅读(600) 评论(0) 推荐(0) 编辑