需求:定義n多個人的生活方式
分析:每個人的生活都差不多,應該會用到模板吧。。
————-初步實現如下:————-
class 人()
小明 = 人()
小明.吃飯(),小明.睡覺(),小明.工作(),小明.娛樂()
小紅 = 人()
小紅.吃飯(),小紅.睡覺(),小紅.工作(),小紅.娛樂()
這樣的確是一種很好的方式。這算不算模板呢?算,原來繼承本身就是一種模板。。。
————-改進——————–
既然是模板,大家都那樣,為什麼還要重複寫那麼多呢,不如來個直接的:
class 人()
} 小明 = 人() 小明.娛樂(看足球)
小明.生活方式()
小紅 = 人() 小紅.娛樂(看韓劇)
小紅.生活方式()
就是把方法流固定,放到乙個新方法裡,這是第二級模板。
—————–總結————————–
這裡預定義 生活方式 ,包含了既定的流程,每個人只需要修改相應的動作就行,比如吃飯可以吃食堂,可以吃外賣,睡覺,可以睡宿舍,可以睡賓館;不變的是這些方法的執行步驟。
所以,所謂的模板就是一套方法的順序執行。同時允許你對每個方法進行自定義。
裝飾模式就這麼簡單
裝飾模式 decorator 顧名思義,裝飾模式就是給乙個物件增加一些新的功能,而且是動態的,要求裝飾物件和被裝飾物件實現同乙個介面,裝飾物件持有被裝飾物件的例項,關係圖如下 source類是被裝飾類,decorator類是乙個裝飾類,可以為source類動態的新增一些功能,如下 public in...
「備忘錄模式」就這麼簡單
備忘錄模式的官方定義 在不破壞封裝性的前提下,獲取乙個物件的內部狀態,並在該物件之外儲存這些狀態。這樣以後就可以通過該物件恢復到原先儲存的狀態。大白話說 乙個物件中一般都封裝了很多屬性,這些屬性的值會隨著程式的執行而變化。當我們需要儲存某一時刻物件的某些值的時候,我們就再建立乙個物件,將當前物件中的...
模板設計模式 設計模式 模板方法模式
在模板模式 template pattern 中,乙個抽象類公開定義了執行它的方法的方式 模板。它的子類可以按需要重寫方法實現,但呼叫將以抽象類中定義的方式進行。這種型別的設計模式屬於行為型模式。首先需要一定抽象的定義,沒有具體的實現,但是在抽象類的行為中,子類去程序這個抽象類,重寫抽象方法,實現不...