LaneBlog

蝼蚁虽小,也有梦想

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

面向对象的洗礼:设计模式(二十一)之单例模式

Date: 2014-04-26 16:08:13 Power By 李轩Lane

Tag: PHP | 设计模式 | 单例模式

单例模式,顾名思义,单个的实例,就是对某个对象,只new一次。单例模式是设计模式常见的一种,用来创建封装好的类的唯一一个实例,这样一来,可以严格控制客户怎么样访问它以及何时访问它,对唯一实例的受控访问。

面向对象的洗礼:设计模式(二十)之迭代器模式

Date: 2014-04-26 15:46:36 Power By 李轩Lane

Tag: PHP | 设计模式 | 迭代器模式

迭代器模式,将一个列表从头到尾或者从尾到头进行一次遍历。迭代器模式是被提名要求废除的一种设计模式。因为很多的高级语言,如PHP,Python,JAVA等,都已经拥有了foreach。迭代器模式用来访问一个列表的第一个,最后一个,或者某一个的下一个。

面向对象的洗礼:设计模式(十九)之组合模式

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

Tag: 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 | 设计模式 | 外观模式

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

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