2018年6月10日

【10-1】状态者模式

摘要: 一、状态者模式的介绍 每个对象都有其对应的状态,而每个状态又对应一些相应的行为,如果某个对象有多个状态时,那么就会对应很多的行为。那么对这些状态的判断和根据状态完成的行为,就会导致多重条件语句,并且如果添加一种新的状态时,需要更改之前现有的代码。这样的设计显然违背了开闭原则。状态模式正是用来解决这样 阅读全文

posted @ 2018-06-10 17:12 SuperSnowYao 阅读(189) 评论(0) 推荐(0) 编辑

【9】装饰者模式

摘要: 一、引言 在软件开发中,我们经常想要对一类对象添加不同的功能。例如:要给手机添加贴膜,手机挂件,手机外壳等,如果此时利用继承来实现的话,就需要定义无数的类,如StickerPhone(贴膜是手机类)、AccessoriesPhone(挂件手机类)等,这样就会导致 ”子类爆炸“问题。为了解决这个问题, 阅读全文

posted @ 2018-06-10 15:52 SuperSnowYao 阅读(162) 评论(0) 推荐(0) 编辑

【8】桥接者模式

摘要: 一、引言 这里以电视遥控器的一个例子来引出桥接模式解决的问题。首先,我们每个牌子的电视机都有一个遥控器,此时我们能想到的一个设计是——把遥控器做为一个抽象类,抽象类中提供遥控器的所有实现,其他具体电视品牌的遥控器都继承这个抽象类,具体设计类图如下: 这样的实现使得每部不同型号的电视都有自己遥控器实现 阅读全文

posted @ 2018-06-10 14:34 SuperSnowYao 阅读(297) 评论(0) 推荐(0) 编辑

【7】适配器模式

摘要: 一、引言 在实际的开发过程中,由于应用环境的变化(例如使用语言的变化),我们需要的实现在新的环境中没有现存对象可以满足,但是其他环境却存在这样现存的对象。那么如果将“将现存的对象”在新的环境中进行调用呢?解决这个问题的办法就是我们本文要介绍的适配器模式——使得新环境中不需要去重复实现已经存在了的实现 阅读全文

posted @ 2018-06-10 11:35 SuperSnowYao 阅读(157) 评论(0) 推荐(0) 编辑

导航