随笔分类 - PHP 设计模式(Design Pattern For PHP)
摘要:一、概述 桥接模式:将两个原本不相关的类结合在一起,然后利用两个类中的方法和属性,输出一份新的结果。 二、案例 1、模拟毛笔(转) 需求:现在需要准备三种粗细(大中小),并且有五种颜色的比 如果使用蜡笔,我们需要准备3*5=15支蜡笔,也就是说必须准备15个具体的蜡笔类。而如果使用毛笔的话,只需要3
阅读全文
摘要:适配器模式:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。 如下图(借图): // 设置书的接口 客户端测试: 输出结果: 这时候,你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。 如
阅读全文
摘要:原型设计模式: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 原型设计模式简单的来说,就是不去创建新的对象进而保留原型的一种设计模式。 缺点:原型设计模式是的最主要的缺点就是这个克隆方法需要对类的功能进行检测,这对于全新的类来说较容易,但对已有的类进行改造时将不是件容易的事情;
阅读全文
摘要:建造者模式:将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示的设计模式。 设计场景: 有一个用户的UserInfo类,创建这个类,需要创建用户的姓名,年龄,爱好等信息,才能获得用户具体的信息结果。 创建一个UserBuilder 用户建造者类,这个类,将UserInfo复杂的创
阅读全文
摘要:今天讲单例设计模式,这种设计模式和工厂模式一样,用的非常非常多,同时单例模式比较容易的一种设计模式。 一、什么是单例设计模式 单例模式,也叫单子模式,是一种常用的软件设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。 二、单例模式的技巧 三、单例模式的应用场景 数据库设计,我们发送一
阅读全文
摘要:一、什么是抽象工厂模式 抽象工厂模式的用意为:给客户端提供一个接口,可以创建多个产品族中的产品对象 ,而且使用抽象工厂模式还要满足以下条件: 产品族:位于不同产品等级结构中,功能相关联的产品组成的家族。下面例子的 汽车和空调就是两个产品树, 奔驰C200+格力某型号空调就是一个产品族, 同理, 奥迪
阅读全文
摘要:简单工厂简述: 简单工厂模式实现了生产产品类的代码跟客户端代码分离,在工厂类中你可以添加需要生成长跑的逻辑代码(new 产品类),但是问题来了,优秀的代码是符合“开闭原则”如果你要加一个C类产品,你就要修改工厂类里面的代码,也就是说要增加条件语句如:switch case。对于这个问题,接下来的工厂
阅读全文
摘要:最近天气变化无常,身为程序猿的寡人!~终究难耐天气的挑战,病倒了,果然,程序猿还需多保养自己的身体,有句话这么说:一生只有两件事能报复你:不够努力的辜负和过度消耗身体的后患。话不多说,开始吧。 一、什么是简单工厂模式 简单工厂 (Simple Factory)又称静态工厂方法模式(Static Fa
阅读全文
摘要:一、设计模式(Design pattern)是什么? 设计模式是一套被反复使用、多数人知晓、经过分类编目的代码设计的经验总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 二、为什么要有设计模式? 在软件开发过程中,一个功能的实现方式多种多样,不同方法的可扩展性、可维护性以
阅读全文