从现实出发的设计模式
「已注销」
这个作者很懒,什么都没留下…
展开
-
自我联想学设计模式(初级版)-3-策略模式
在具体怎么使用策略模式之前,我们先自己定义一下什么策略,所谓策略就是做某种事的方法吧,比如我们去火星,可以使用SpaceX的火箭,可以乘坐BlueOrigine的火箭,也可以乘坐俄罗斯的火箭,这就是做同一件事,策略不同。 那么我们发现其实无论坐谁的火箭去火星,都要完成一个算法,去火星。所以,无论是何种算法,都要实现相同的函数接口: 我们和昨天学习的状态模式对比下,就发现其实差不过,都...原创 2018-12-02 15:26:13 · 179 阅读 · 0 评论 -
自我联想学设计模式(初级版)-4-组合模式
WHAT? 既然说了是组合,那么肯定参与组合的不止一个,是多个。但是不是任意对象组合起来都可以成为组合模式呢? 其实不然。 这多个对象,它们彼此之间必须有“整体/部分”的关系,并且你想用一致的方式对待这些兑现时,你就需要组合模式。 那么所谓的“整体/部分”关系,指的是什么呢? HeadFirst里举例使用的用户界面,一些顶层组件(像是Frame或Panel)包含着其他组件(像菜单,文字面...原创 2018-12-02 20:34:54 · 199 阅读 · 0 评论 -
自我联想学设计模式(初级版)-1-观察者模式
如果单纯的看书,其实很容易陷入到各种概念中去,最终导致似乎懂了,但实际开始使用的时候又有各种问题。这个版本的设计模式只从实用来入手,就是在各种情况下,根据联想快速的代入这个模式,能够迅速用起来,转化为代码。所以这个版本的设计模式都以现实中的例子自己联想。 假设我以去电影院看电影为例,因为观察者嘛,就是看东西,所以这里以看电影为例。 这就是观察者的模式了。 这里我们有目标:电影毒液。有观察...原创 2018-12-01 16:47:08 · 521 阅读 · 0 评论 -
自我联想学设计模式(初级版)-2-状态模式
状态模式顾名思义就是一个对象有多个状态,这里以谈恋爱为例。 首先我们搞清楚为什么要使用状态模式,其实很简单,就是减轻心智负担,因为一个对象它的状态不同,对于同一种事情的反应也不同,如果你女朋友心情好,那么你要求什么她也会答应,如果她心情差,那么你同样的要求就会有各种各样的回应。 假设她平时有3个状态,你都熟悉的不得了,但是如果她看了更多书,有了新的认识,突然发展处了另外2个状态。 那么你怎么...原创 2018-12-01 21:04:38 · 236 阅读 · 2 评论