#深入浅出设计模式

设计模式之建造者模式(php实现)

github地址:https://github.com/ZQCard/design_pattern/***建造者模式*将一个复杂对象的建造与调用者分离。调用者只需要给出指定对象的类型和内容,建造者模式负责按照顺寻创建复杂对象.*以买汽车为例,工厂负责制造汽车,你可以购买你所需要的汽车品牌和型号*指挥者(Director...

设计模式之单例模式(php实现)

  github地址:https://github.com/ZQCard/design_pattern单例模式:顾名思义就就是创建单个实例的模式。优点:保证一个类仅有一个实例,并提供一个访问它的全局访问点。避免使用的类频繁地创建与销毁以致于造成不必要的消耗。缺点:没有接口,不能继承,与单一职责原则冲突,一个类应该只关心...

设计模式之工厂模式之抽象工厂(php实现)

github地址:git@github.com:ZQCard/design_pattern.git抽象工厂模式:先来认识下什么是产品族:位于不同产品等级结构中,功能相关联的产品组成的家族。图中的BmwCar和BenzCar就是两个产品树(产品等级结构);而如图所示的BenzSportsCar和BmwSportsCar就...

设计模式之工厂模式之工厂方法(php实现)

github:git@github.com:ZQCard/design_pattern.git/***工厂方法*使用开闭原则来分析下工厂方法模式。当有新的产品产生时,只要按照抽象产品角色、抽象工厂角色提供的合同来生成,*那么就可以被客户使用,而不必去修改任何已有的代码。(即当有新产品时,只要创建并基础抽象产品;新建具体...

设计模式之工厂模式之简单工厂(php实现)

github源码地址:git@github.com:ZQCard/design_pattern.git1.简单工厂模式  特点:将调用者与创建者分离,调用者直接向工厂请求,减少代码的耦合.提高系统的可维护性与可扩展性.  缺点:当要修改类的时候,工厂类也需要做出相对应的更改,违反了开闭原则(对于扩展代码开放,对于类内修...

设计模式——模板方法

这个在spring中表现的淋漓尽致,比如HibernateTemplateSupport等等packagedesignpattern.behavior.templatemethod;publicabstractclassATemplate{publicabstractvoidmethod1();//抽象方法,带子类实现...
代码星球 代码星球·2020-04-06

设计模式——组合模式

要素:1统一的接口,有对自身的add、remove、getChild、operation等方法2接口有Leaf、Leaf构成的复杂Compositepackagedesignpattern.structure.composite;publicinterfaceIComponent{publicabstractvoida...
代码星球 代码星球·2020-04-06

设计模式——门面模式

用于将对复杂某系统的访问统一化,避免客户端过多的干涉某系统及其子系统。packagedesignpattern.structure.facade;publicclassFacade{Subsystemclass1s1=newSubsystemclass1();Subsystemclass2s2=newSubsystem...
代码星球 代码星球·2020-04-06

设计模式——享元模式

Flyweight直译为蝇量。就其表示的模式来说,翻译成享元,确实是不错的packagedesignpattern.structure.flyweight;publicinterfaceFlyweight{voidaction(intarg);}packagedesignpattern.structure.flywei...
代码星球 代码星球·2020-04-06

设计模式——代理模式

如上文所述,它和装饰模式的差别只有一点点。——它就是获取代理的时候,不用传具体实现的参数——而是有代理全权负责具体实现的工作—— ——对于装饰模式,其实也很好理解——它只是想稍微做些工作,所...
代码星球 代码星球·2020-04-06

设计模式——装饰模式

很简单,我就是想调用A方法的时候(前后),额外调用一些其他方法:packagedesignpattern.structure.decorator;/**Decorator它的做法跟代理模式,很相似,但是对work的实现不同——*如果是Decorator在work实现中直接调用ITarget的wo...
代码星球 代码星球·2020-04-06

设计模式——适配器

又分为三种:类的适配器模式:packagedesignpattern.structure.adapter.classadapter;publicinterfaceITarget{publicvoidmethod1();publicvoidmethod2();}packagedesignpattern.structure...
代码星球 代码星球·2020-04-06

设计模式——建造者

建造者角色:分为抽象建造者、具体建造者packagedesignpattern.creation.builder;publicinterfaceBuilder{voidbuildPart1();voidbuildPart2();voidbuildPart3();voidbuildPartn();IProductretr...
代码星球 代码星球·2020-04-06

设计模式——抽象工厂

工厂角色:packagedesignpattern.creation.abstractfactory;publicinterfaceIFactory{IProductAgetProductA();IProductBgetProductB();}packagedesignpattern.creation.abstract...
代码星球 代码星球·2020-04-06

设计模式——工厂方法

工厂角色:packagedesignpattern.creation.factorymethod;publicclassFactoryA{publicIProductgetProduct(){returnnewProductA();}}packagedesignpattern.creation.factorymetho...
代码星球 代码星球·2020-04-06
首页上一页...3839404142...下一页尾页