设计模式,就这么回事——模板模式

需求:定义n多个人的生活方式
分析:每个人的生活都差不多,应该会用到模板吧。。

————-初步实现如下:————-
class 人(){
吃饭()
睡觉()
工作()
娱乐()
}
小明 = 人()
小明.吃饭(),小明.睡觉(),小明.工作(),小明.娱乐()
小红 = 人()
小红.吃饭(),小红.睡觉(),小红.工作(),小红.娱乐()

这样的确是一种很好的方式。这算不算模板呢?算,原来继承本身就是一种模板。。。

————-改进——————–
既然是模板,大家都那样,为什么还要重复写那么多呢,不如来个直接的:
class 人(){
吃饭()
睡觉()
工作()
娱乐()
生活方式(){
吃饭(),睡觉(),工作(),娱乐()
}
}
小明 = 人() 小明.娱乐(看足球)
小明.生活方式()
小红 = 人() 小红.娱乐(看韩剧)
小红.生活方式()
就是把方法流固定,放到一个新方法里,这是第二级模板。
—————–总结————————–
这里预定义 生活方式 ,包含了既定的流程,每个人只需要修改相应的动作就行,比如吃饭可以吃食堂,可以吃外卖,睡觉,可以睡宿舍,可以睡宾馆;不变的是这些方法的执行步骤。
所以,所谓的模板就是一套方法的顺序执行。同时允许你对每个方法进行自定义。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章