适配器模式 - Adapter Pattern定义将一个接口转换成客户所期望的另一个接口,使接口不兼容的那些类可以一起工作。设计的原则和思想解耦的是目标类(适配器类)和适配者类。不变部分是适配者,变化部分是适配器。核心思想是将类中原本不兼容的接口转换成兼容的接口。是一种事后的补救策略。一句话概括设计模式将接口转换成另一个接口,消除不兼容问题。适配器模式分三种 ......
311
0
0
2022-08-01
桥接模式 - Bridge Pattern定义将抽象部分与它的实现部分分离,使它们都可以独立地变化。设计的原则和思想解耦的是抽象部分和实现的部分。不变部分是抽象部分,变化部分是实现部分。核心思想是通过组合的方式,让类的个数从指数增长下降到线性增长。一句话概括设计模式一个类存在多个独立变化的维度,通过组合的方式,让多个维度可以独立地变化。经典版本结构中包含的角 ......
344
0
0
2022-08-01
代理模式 - Proxy Pattern定义给某一个对象提供一个代理对象,并由代理对象来控制对原对象的访问。 设计的原则和思想解耦的是代理者与被代理者。不变部分是代理者,变化部分是被代理者。核心思想是在不改变对象的情况下,为对象增加一些与本身业务没什么关系的额外功能,但不会为对象本身的功能进行增强。一句话概括设计模式通过代理的方式去控制对一个对象的访问结构中 ......
342
0
0
2022-08-01
原型模式 - Prototype Pattern定义用原型实例来确定要创建对象的类型,并通过复制原型来创建新的对象。结构中包含的角色Prototype(抽象原型角色):声明一个克隆自身的接口Concrete Prototype(具体原型角色):实现一个克隆自身的操作最小可表达代码// 定义拷贝接口 interface Cloneable { p ......
379
0
0
2022-07-22
建造者模式 - Builder Pattern定义将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。结构中包含的角色Builder(抽象建造者)ConcreteBuilder(具体建造者)Product(产品角色)Director(指挥者)一句话概括设计模式通过分解构建步骤,控制构建顺序,隔离复杂对象的创建和使用的方式,解决复杂对象的 ......
328
0
0
2022-07-22
工厂模式 Factory Pattern简述工厂模式分三种类型。 1. 简单工厂模式。 2. 工厂方法模式。 3. 抽象工厂模式。设计的原则和思想把对象的创建封装在工厂类中,解耦对象的创建和使用。产品等级结构和产品族产品等级结构 : 继承结构,就是同类。例如,华为手机,小米手机,魅族手机,这些都是具体实现类,抽象类是手机。 产品族 ......
364
0
0
2022-07-22
单例模式 - Singleton Pattern定义一个类只拥有一个实例,且能提供全局访问的方法。 一句话概括设计模式一个类只实例化一次。 结构中包含的角色Singleton 单例对象 最小可表达代码// final 不能继承 final class Singleton { private static $instance; ......
307
0
0
2022-07-22
设计模式设计模式单例模式工厂模式工厂模式,工厂方法或者类生成对象,而不是在代码中直接new。public function test1($arr) { $people = new PeopleClass(); } public function test2($arr) { $people = new PeopleClass(); ......
436
0
0
2022-07-10