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

2021-07-25 12:42:37 字數 630 閱讀 5503

需求:定義n多個人的生活方式

分析:每個人的生活都差不多,應該會用到模板吧。。

————-初步實現如下:————-

class 人()

小明 = 人()

小明.吃飯(),小明.睡覺(),小明.工作(),小明.娛樂()

小紅 = 人()

小紅.吃飯(),小紅.睡覺(),小紅.工作(),小紅.娛樂()

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

————-改進——————–

既然是模板,大家都那樣,為什麼還要重複寫那麼多呢,不如來個直接的:

class 人()

} 小明 = 人() 小明.娛樂(看足球)

小明.生活方式()

小紅 = 人() 小紅.娛樂(看韓劇)

小紅.生活方式()

就是把方法流固定,放到乙個新方法裡,這是第二級模板。

—————–總結————————–

這裡預定義 生活方式 ,包含了既定的流程,每個人只需要修改相應的動作就行,比如吃飯可以吃食堂,可以吃外賣,睡覺,可以睡宿舍,可以睡賓館;不變的是這些方法的執行步驟。

所以,所謂的模板就是一套方法的順序執行。同時允許你對每個方法進行自定義。

裝飾模式就這麼簡單

裝飾模式 decorator 顧名思義,裝飾模式就是給乙個物件增加一些新的功能,而且是動態的,要求裝飾物件和被裝飾物件實現同乙個介面,裝飾物件持有被裝飾物件的例項,關係圖如下 source類是被裝飾類,decorator類是乙個裝飾類,可以為source類動態的新增一些功能,如下 public in...

「備忘錄模式」就這麼簡單

備忘錄模式的官方定義 在不破壞封裝性的前提下,獲取乙個物件的內部狀態,並在該物件之外儲存這些狀態。這樣以後就可以通過該物件恢復到原先儲存的狀態。大白話說 乙個物件中一般都封裝了很多屬性,這些屬性的值會隨著程式的執行而變化。當我們需要儲存某一時刻物件的某些值的時候,我們就再建立乙個物件,將當前物件中的...

模板設計模式 設計模式 模板方法模式

在模板模式 template pattern 中,乙個抽象類公開定義了執行它的方法的方式 模板。它的子類可以按需要重寫方法實現,但呼叫將以抽象類中定義的方式進行。這種型別的設計模式屬於行為型模式。首先需要一定抽象的定義,沒有具體的實現,但是在抽象類的行為中,子類去程序這個抽象類,重寫抽象方法,實現不...