摘要:
https://www.cnblogs.com/DeanChopper/p/4767181.html 阅读全文
随笔档案-2018年12月
设计模式(八)--桥接模式
2018-12-21 11:32 by Caoxt, 136 阅读, 收藏,
摘要:
桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。 意图:将抽象部分与实现部分分离,使它们都可以独立的变化。 主要解决:在有多种可能会变化的情况下,用继承会造成类爆炸问题,扩展起来不灵活。 阅读全文
设计模式(七)--适配器模式
2018-12-21 10:34 by Caoxt, 136 阅读, 收藏,
摘要:
适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。 这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。 主要解决:主要解决在软件系统中,常常要将一些"现存的对象"放到新的环境中,而新环境要求的接 阅读全文
设计模式(六)--装饰器模式
2018-12-18 16:37 by Caoxt, 138 阅读, 收藏,
摘要:
装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。 这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。 意图:动态地给一个对象添加一些额外的 阅读全文
设计模式(五)--策略模式
2018-12-14 11:48 by Caoxt, 169 阅读, 收藏,
摘要:
策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理。策略模式通常把一个系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类。用一句话来说,就是:“准备一组算法,并将每一个算法封装起来,使得它们可以互换”。 (一)为什么需要策略模式 1,在有多种算法相似的情况下 阅读全文
设计模式(四)--责任链模式
2018-12-12 17:14 by Caoxt, 164 阅读, 收藏,
摘要:
责任链模式: 为请求创建了一个接收者对象的链,并沿这条链传递该请求,直到有对象处理它为止。这种模式能够给予请求的类型,对请求的发送者和接收者进行解耦。 责任链模式最显著的优点就是将请求和处理分开,请求者可以不用知道是谁处理的,处理者可以不用知道请求的全貌,两者解耦。 避免超长链的出现 简单实例:员工 阅读全文
设计模式(三)--观察者模式
2018-12-12 11:41 by Caoxt, 172 阅读, 收藏,
摘要:
观察者模式:定义了对象间的一种一对多的依赖关系,当被观察的对象发生改变时,所有依赖于它的对象都会得到通知并被自动更新,而且被观察的对象和观察者之间是松耦合的。在该模式中,有目标(Subject)和观察者(Observer)两种角色。目标角色是被观察的对象,持有并控制着某种状态,可以被任意多个观察者作 阅读全文
设计模式(二)--单例模式
2018-12-06 17:08 by Caoxt, 198 阅读, 收藏,
摘要:
单例模式(Singleton Pattern):顾名思义,就是只有一个实例。作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 (一)为什么要使用PHP单例模式 1,php的应用主要在于数据库应用, 一个应用中会存在大量的数据库操作, 在使用面向对象的方式 阅读全文
设计模式(一)--抽象工厂模式
2018-12-03 17:31 by Caoxt, 233 阅读, 收藏,
摘要:
工厂模式:是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 主要解决:主要解决接口选择的问题。 优点 :具体类的创建实例过程与客户端分离,客户端通过工厂的抽象接口操纵实例,客户端并不知道具体的实现是谁。 缺点:如果产品 阅读全文
浙公网安备 33010602011771号