摘要:
定义: 观察者模式(Observer),当一个对象状态发生变化时,依赖它的对象全部会收到通知,并自动更新。 目的: 一个事件发生后,要执行一连串更新操作。传统的编程方式,就是在事件的代码之后直接加入处理的逻辑。当更新的逻辑增多之后,代码会变得难以维护。这种方式是耦合的,侵入式的,增加新的逻辑需要修改 阅读全文
摘要:
策略模式:将一组特定的行为和算法封装成类,以适应某些特定的上下文环境。 假如有一个电商网站系统,针对男性女性用户要各自跳转到不同的商品类目,并且所有的广告位展示不同的广告。在传统的代码中,都是在系统中加入各种if else的判断,硬编码的方式。如果有一天增加了一种用户,就需要改写代码。使用策略模式, 阅读全文
摘要:
什么叫适配: 适配器模式其实也是一种为了解耦的设计模式,为了让客户端的调用变得更简单统一,将源接口转换为目标接口的过程封装到特定的过程中,这个过程就叫适配 目的: 适配器模式将原本不兼容的接口转换为客户期望的接口,使得原本由于接口不兼容而不能一起工作的类能够一起工作。 应用场景: 封装有缺陷的接口设 阅读全文
摘要:
注册树模式当然也叫注册模式,注册器模式。注册树模式通过将对象实例注册到一棵全局的对象树上,需要的时候从对象树上采摘的模式设计方法 为什么要采用注册树模式? 单例模式解决的是如何在整个项目中创建唯一对象实例的问题,工厂模式解决的是如何不通过new建立实例对象的方法。 那么注册树模式想解决什么问题呢? 阅读全文
摘要:
作用:提供获取某个对象实例的一个接口,同时使调用代码避免确定实例化基类的步骤,实际上就是建立一个统一的类实例化的函数接口,完成统一调用,统一控制。 工厂模式也分为三种: 工厂模式 抽象工厂模式 工厂模式 <?php // 接口 interface ToData { public function g 阅读全文
摘要:
单例模式 记住口诀三私一公 单例模式是最常见的模式之一,在Web应用的开发中,常常用于允许在运行时为某个特定的类创建仅有一个可访问的实例。 特点 $_instance必须声明为静态的私有变量; 构造函数和析构函数必须声明为私有,防止外部程序new 类从而失去单例模式的意义; getInstance( 阅读全文
摘要:
不论是什么语言开发,都离不开设计模式,在我们php知识里面,很多时候都在涉及到设计模式,常用的框架里面几乎都有用到,只是我们很少留意这些,所有很有必要了解学习一下 php设计模式其实很多种,但我们这里将的是常见的设计模式,就是人们常说的八大设计模式 单例模式 工厂模式 注册模式 适配器模式 策略模式 阅读全文
摘要:
exif 类函数有如下几个 exif_imagetype exif_read_data (read_exif_data 别名)exif_tagnameexif_thumbnail exif_imagetype 判断一个图像的类型 exif_read_data 从 JPEG 或 TIFF 文件中读取 阅读全文
摘要:
别说什么一见钟情,不过就是见色起意。 针对mysql的事务,四大特性中的隔离性,就需要靠事务锁进行实现 根据不同的划分,可以将锁划分为几种方式: 按照粒度划分:行锁、表锁、页锁 按照使用方式划分:共享锁、排他锁 按照思想划分:悲观锁、乐观锁 粒度划分(行锁,表锁,页锁) 表锁:在操作数据时会锁定整张 阅读全文
摘要:
宽容别人,其实也是给自己的心灵让路。 结构定义:(c语言) typedef struct AVLNode *Tree; typedef int ElementType; struct AVLNode{ int depth; //深度 Tree parent; //父节点 ElementType va 阅读全文