2013年6月2日

设计模式 -- 状态模式

摘要: 1、什么是状态模式? 状态模式:当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了它的类。 对象的状态可能有很多种情况,在不同的状态下,对象会有不同的行为,或者对同一行为有不同的反应。在这种环境下,使用状态模式能替代我们编写的大量判断对象当前状态的if-else语句。这是符合“开闭原则”的。举个例子来说,我们用的电灯开关,通常电灯开着的时候,我们按下开关,电灯会关闭,而电灯关着的时候,按下开关,电灯会打开。对于同样是按下开关这个请求,电灯会做出不同的响应,原因是电灯的状态不同。2、如何实现状态模式? 状态模式状态模式主要解决的是当控制一个对象状态的条件表达式过于复杂时的情况。这 阅读全文

posted @ 2013-06-02 17:58 雨过晴空 阅读(413) 评论(0) 推荐(0) 编辑

设计模式 -- 外观模式

摘要: 1、什么是外观模式? 外观模式提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。简单来说外观模式就是在简化接口。简化谁的接口呢?一般的是简化我们已有子系统的接口,比如我们的家庭影院遥控器上的按钮,当我们按下“播放”这个按钮时实际上发生了很多事:调整灯光亮度,落下屏幕,开启投影,调整投影屏幕模式……对于这些繁琐的操作,我们不用关心到底是谁调用了灯光或是落下了屏幕,我们只需要按下“播放”即可。“播放”就是一个被简化了的接口,供我们使用,以避免我们在想看电影时做很多繁琐的操作。如此说来外观模式就非常简单了,我们需要定义自己的类,在其中维护需要简化接口的子系 阅读全文

posted @ 2013-06-02 11:57 雨过晴空 阅读(292) 评论(0) 推荐(0) 编辑

设计模式 -- 组合模式

摘要: 1、什么是组合模式?组合模式有时候也叫做“整体-部分”模式,它使得类似于树的分级结构中,对于分支和叶节点的处理保持一致,以优化处理递归和分级结构。树结构大家都不陌生,我们电脑里的“资源管理器”就是个典型的树,文件系统由目录和文件组成,每一个目录类似于一个容器,他可以用来装文件,还可以用来装目录。按照这种方式,计算机的文件系统就是以递归结构来组织的,如果你想描述类似于这样的数据结构,可以使用组合模式。 组合模式:将对象组合成树型结构,以表示“整体-部分”关系,组合模式使得客户对单一对象和整体对象的处理保持一致。2、组合模式中设计的角色: 2.1 Component:抽象组合类,定义了叶子节点和枝 阅读全文

posted @ 2013-06-02 11:28 雨过晴空 阅读(260) 评论(0) 推荐(0) 编辑

导航