#深入浅出设计模式

设计模式之空对象模式(php实现)

github地址:https://github.com/ZQCard/design_pattern/***在空对象模式(NullObjectPattern)中,一个空对象取代NULL对象实例的检查。*Null对象不是检查空值,而是反应一个不做任何动作的关系。这样的Null对象也可以在数据不可用的时候提供默认的行为。*在...

设计模式之状态模式(PHP实现)

github地址:https://github.com/ZQCard/design_pattern/***在状态模式(StatePattern)中,类的行为是基于它的状态改变的。这种类型的设计模式属于行为型模式。*在状态模式中,我们创建表示各种状态的对象和一个行为随着状态对象改变而改变的context对象。*对象的行为...

设计模式之观察者模式(php实现)

github地址:https://github.com/ZQCard/design_pattern/***当对象间存在一对多关系时,则使用观察者模式(ObserverPattern)。*比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。*一个对象(目标对象)的状态发生改变,所有的依赖对象(观...

设计模式之中介者模式(php实现)

github地址:https://github.com/ZQCard/design_pattern/***中介者模式(MediatorPattern)是用来降低多个对象和类之间的通信复杂性。*用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。*...

设计模式之迭代器模式(PHP实现)

github地址:https://github.com/ZQCard/design_pattern/***迭代器模式(IteratorPattern)是Java和.Net编程环境中非常常用的设计模式。*这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。迭代器模式属于行为型模式。*/(1)Iterator...

设计模式之责任链模式(php实现)

github地址:https://github.com/ZQCard/design_pattern/***责任链模式(ChainofResponsibilityPattern)为请求创建了一个接收者对象的链。*这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。*在这种模式中,通常...

设计模式之代理模式(php实现)

github地址:https://github.com/ZQCard/design_pattern/***在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。*1、Windows里面的快捷方式。*2、猪八戒去找高翠兰结果是孙悟空变的,可以这样理解:把高翠兰的外貌抽象出来,高翠兰本人和孙悟空都实现了这个接口...

设计模式之享元模式(PHP实现)

github地址:https://github.com/ZQCard/design_pattern/***减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,*它提供了减少对象数量从而改善应用所需的对象结构的方式。*享元模式尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象。*在有大...

设计模式之外观模式(PHP实现)

github地址:https://github.com/ZQCard/design_pattern/***外观模式(FacadePattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。*这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。*这种模式涉及到一个单一的类...

设计模式之装饰器模式(PHP实现)

/***装饰器模式(DecoratorPattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。*这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。*我们通过下面的实例来演示装饰器模式的用法。其中,我...

设计模式之组合模式(PHP实现)

github地址:https://github.com/ZQCard/design_pattern/**组合模式(CompositePattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树...

设计模式之过滤器模式(php实现)

/***github地址:https://github.com/ZQCard/design_pattern*过滤器模式(FilterPattern)或标准模式(CriteriaPattern)是一种设计模式,*这种模式允许开发人员使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来。*这种类型的设计模式...

设计模式之桥接模式(php实现)

github地址:https://github.com/ZQCard/design_pattern/***桥接模式*优点:*1、分离抽象接口及其实现部分。提高了比继承更好的解决方案。*2、桥接模式提高了系统的可扩充性,在两个变化维度中任意扩展一个维度,都不需要修改原有系统。*3、实现细节对客户透明,可以对用户隐藏实现细...

设计模式之适配器模式(php实现)

/*github地址:https://github.com/ZQCard/design_pattern*适配器模式:将一个类的接口转换成客户希望的另外一个接口。*适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。**实例解析:*我们有一个MediaPlayer接口和一个实现了MediaPlayer接口...

设计模式之原型模式(php实现)

github地址:https://github.com/ZQCard/design_pattern1.先了解什么是浅拷贝与深拷贝//深拷贝:赋值时值完全复制,完全的copy,对其中一个作出改变,不会影响另一个////浅拷贝:赋值时,引用赋值,相当于取了一个别名。对其中一个修改,会影响另一个对象作为参数传递时,也是引用传...
首页上一页...3738394041...下一页尾页