LaneBlog

蝼蚁虽小,也有梦想

PHP Socket服务 | PHP微信开发框架 | 开源博客

面向对象的洗礼:设计模式(十八)之备忘录模式

Date: 2014-04-25 23:04:14 Power By 李轩Lane

Tag: PHP | 设计模式 | 备忘录模式

备忘录模式,顾名思义,记录某种数据,在需要的时候释放出来。在游戏中,存档,读档就是备忘录模式。被Boss打死后复活,数据回复到打Boss之前,也是设计模式中的备忘录模式。在但是在游戏中,角色类的功能不能带有存储旧状态数据和恢复旧状态数据的方法。把存储和读取的细节封装到一个新类中。职责分离。每个类超过一个功能,就需要考虑拆分了。这也是单一原则的体现。

面向对象的洗礼:设计模式(十七)之适配器模式

Date: 2014-04-25 08:37:39 Power By 李轩Lane

Tag: PHP | 设计模式 | 适配器模式

适配器模式,尽管是一种常见的设计模式,但是有点亡羊补牢的感觉。不是首选的设计模式。适配器模式是连接两个类的中间件,当一个类想要调用某一个类的接口时,发现尽管这个类的接口可以实现想要的功能,但是却不能用。比如因为格式的问题等等,这时候需要一个中间件来充当转换器,这就是适配器模式。

面向对象的洗礼:设计模式(十六)之状态模式

Date: 2014-04-24 22:04:26 Power By 李轩Lane

Tag: PHP | 设计模式 | 状态模式

状态模式是根据状态来执行不同的功能,通常以switch和if-ifelse来逻辑判断。面向对象设计,它的目的就是希望代码能够根据责任、功能来进行分解,不再是一大长串。状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂的时候,把状态的判断转移到表示不同状态的一系列类当中,把复杂的判断逻辑简化。

面向对象的洗礼:设计模式(十五)之抽象工厂模式

Date: 2014-04-24 21:20:37 Power By 李轩Lane

Tag: PHP | 设计模式 | 抽象工厂模式

抽象工厂模式,是工厂方法模式的演变,而工厂方法模式,是简单工厂模式的进化。抛弃了应用的条件控制语句,无论是switch还是if-ifelse。是设计模式的一种。抽线工厂模式来自于方法模式和简单工厂模式的进化与整合,其实,我已经要疯了,23种设计模式,现在已经出现了三种工厂模式。

面向对象的洗礼:设计模式(十四)之观察者模式

Date: 2014-04-23 22:06:09 Power By 李轩Lane

Tag: PHP | 设计模式 | 观察者模式

观察者模式,又叫做订阅-发布模式。当一个对象的改变需要同时改变多个对象的时候,可以使用法不这模式。设计模式中的观察者模式,就是为了解除类之间的耦合,使双方都依赖于抽象而不是依赖于具体。在实际生活中,比如我们更换了手机号,需要通知大家的时候,我们就是主题,或者通知者,而需要通知的人就是观察者列表,一条短信的群发告诉大家,就是观察者模式的应用。

面向对象的洗礼:设计模式(十三)之建造者模式

Date: 2014-04-23 08:50:18 Power By 李轩Lane

Tag: PHP | 设计模式 | 建造者模式

建造者模式,也叫生成器模式。是设计模式的一种。某个复杂算法类,在方法调用上是顺序稳定的,但是具体属性不同,此时可以使用建造者模式。在建造者模式这一的设计模式种,第一个类builder是各种创建方法的抽象接口。ConcreteBuilder调用Builder的接口来装配。提供对外的接口。ProductA是A产品类,调用ConcreteBuilder实现了具体的产品A的实现方法,也就是需要被构造的那个复杂的对象。Director就是我们的向导类,根据客户的需求生成产品A、产品B、产品C。

面向对象的洗礼:设计模式(十二)之外观模式

Date: 2014-04-22 21:54:52 Power By 李轩Lane

Tag: PHP | 设计模式 | 外观模式

外观模式其实非常容易用到,是对迪米特法则的一种应用:降低类的耦合度,添加中间件。也是对依赖倒转原则的完美体现:针对接口的编程。作为一个中间件,降低底层接口和使用者(客户端的)耦合度。

面向对象的洗礼:设计模式(十一)之迪米特法则

Date: 2014-04-22 21:41:28 Power By 李轩Lane

Tag: PHP | 设计模式 | 迪米特法则

迪米特法则,再次强调了面向对象的特性之一:封装。不需要知道具体如何实现的细节,只需要调用某个类的方法,得到预期的结果。尽可能少的使用public,降低成员的访问权限。可以更好降低类与类之间的耦合度。程序设计时,修改一个越弱耦合的类,对系统造成的影响就会越小,耦合度越低,越利于复用。这就是迪米特法则的根本思想。

面向对象的洗礼:设计模式(十)之模板方法模式

Date: 2014-04-22 08:34:18 Power By 李轩Lane

Tag: PHP | 设计模式 | 模板方法模式

模板方法模式,是最为常见,也是使用最为广泛的一种设计模式,很多程序猿都不知道,自己随便写的代码,也是一种设计模式。如果只能学习一种设计模式的话,那么就应该学习模板模式。顾名思义,模板模式,就是有一个固定的,现成的模板,往里面套东西呗。比如PPT,WORD,EXCEL等,Microsoft为我们提供了大量的模板。可以直接套用,也可以略做修改。总之,比我们自己全新做要省很多事儿。

面向对象的洗礼:设计模式(九)之原型模式

Date: 2014-04-21 21:48:35 Power By 李轩Lane

Tag: PHP | 设计模式 | 原型模式

原型模式提取重复功能,避免了程序员喜欢复制粘贴的坏习惯。设计模式中的原型模式就是,用原型实例指定创建对象的重力,通过拷贝这些原型来创建新的对象从一个对象再创建另外一个可定制的对象,而且不需要知道创建的任何细节。

©2014 www.lanecn.com , All rights reserved. Power By Li Xuan.  京ICP备14005030号