設計模式,就這麼回事——模板模式

需求:定義n多個人的生活方式
分析:每個人的生活都差不多,應該會用到模板吧。。

————-初步實現如下:————-
class 人(){
吃飯()
睡覺()
工作()
娛樂()
}
小明 = 人()
小明.吃飯(),小明.睡覺(),小明.工作(),小明.娛樂()
小紅 = 人()
小紅.吃飯(),小紅.睡覺(),小紅.工作(),小紅.娛樂()

這樣的確是一種很好的方式。這算不算模板呢?算,原來繼承本身就是一種模板。。。

————-改進——————–
既然是模板,大家都那樣,爲什麼還要重複寫那麼多呢,不如來個直接的:
class 人(){
吃飯()
睡覺()
工作()
娛樂()
生活方式(){
吃飯(),睡覺(),工作(),娛樂()
}
}
小明 = 人() 小明.娛樂(看足球)
小明.生活方式()
小紅 = 人() 小紅.娛樂(看韓劇)
小紅.生活方式()
就是把方法流固定,放到一個新方法裏,這是第二級模板。
—————–總結————————–
這裏預定義 生活方式 ,包含了既定的流程,每個人只需要修改相應的動作就行,比如吃飯可以吃食堂,可以吃外賣,睡覺,可以睡宿舍,可以睡賓館;不變的是這些方法的執行步驟。
所以,所謂的模板就是一套方法的順序執行。同時允許你對每個方法進行自定義。

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