-
形象化设计模式实战
收藏博客简单易懂,从php实例出发,将设计模式人形化,冠以其性格特点,方便记忆,深入理解设计模式的原理与技巧,熟悉各个设计模式的适用场景,优缺点,不同点。阅读后对自我的编码能力会有显著的提升,是编码进阶必走之路。
最近更新文章
偷懒的代理模式(Proxy Pattern)
代理,百度百科解释道:以他人的名义,在授权范围内进行对被代理人直接发生法律效力的法律行为。
玩游戏的同学对代练肯定不陌生,找代练帮忙升级打怪,下面就以此例编写个简单的代理模式:
结构如图,首先定义一个游戏接口,接口有游戏的一些基本动作,如登录,打怪,升级。再定义一个玩家的类,继承游戏接口,实现动作。最后定义一个代理类,客户端通过调用代理实际完成玩家的动作。
<?php
inte ...
私人定制的建造者模式(Builder Pattern)
在模板方法模式中,我们知道了如何通过模板批量的制作Hummer,但你会发现Hummer的start,stop,alarm,enginBoom这四个动作都是按固定顺序进行的。那么如果现在要制作任意顺序动作的Hummer该如何设计呢?比如说我现在制作A类型HummerH1,它先启动,后停止,就这两个动作。B类型HummerH2,它先启动,后鸣笛,最后停止。A类型HummerH2,先启动,后有引擎声。B ...
不明觉厉的模板方法模式(Template Method Pattern)
啥是模板方法模式?好像很厉害的样子。
现有两种车,悍马H1和悍马H2,对它们进行测试,需要开动,停止,鸣笛,引擎声。这两车有四个相同的动 ...
富足的抽象工厂模式(Abstract Factory Pattern)
如果把工厂方法模式看作是小厂的作风,那抽象工厂模式绝对是土豪,因为它具有多个业务品种,工厂富足了!
抽象工厂模式的官方定义为:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定它们的具体类。
抽象工厂模式是工厂方法模式的升级版本,在有多个业务品种、业务分类时,通过抽象工厂模式产生需要的对象是一种非常好的解决方式。
在工厂模式的例子中,可以出产出超级用户和普通用户,如果现在 ...
苦逼的工厂模式(Factory Method Pattern)
提到工厂,流水线的工作,不停的重复重复着,真是比我们码农还苦逼。
工厂模式使用的频率也是非常高,它的官方解释为:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂模式使一个类的实例化延迟到其子类。
如图所示,系统中有超级用户与普通用户两种,定义一个公共接口User类,定义一个公共抽象工厂类abstractUserFactory,userFactory类通过继承abstr ...
自私的单例模式(Singleton Pattern)
说到单例模式,肯定觉得简单啊,不就只有一个实例嘛,自私的家伙。
确实很简单,但是现在我有几个问题
1.单例模式有什么好处?
2.单例模式有什 ...