李實名的現代生活 之組合模式

2021-05-25 08:07:59 字數 718 閱讀 4154

一、定義

將物件組合成樹形結構以表示「部分--整體」的層次結構,使得使用者對單個物件和組合的使用具有一致性。

二、優點

高層模組呼叫簡單,子節點增加方便

三、故事開始(**示例)

李實名要開餐館,地點和房子都選好了,可是人手還不夠,於是李實名開始著手尋攬著一些好的下屬,經過幾天的尋找,人手終於被他全部找到了,分別是曹草,空明,紫龍,允常,黑子這幾名得力幹將,當然還有一些普通員工:

人是找好了但是職位安排呢,於是他需要一番設計:

首先是 員工基本資訊 把它抽象乘乙個類

接著是樹葉節點,指那些沒有下屬的人

再下來就是樹枝節點,也就是有下屬的人,包括根節點(boss)

最後是場景類

好了,程式跑一遍:

員工:李實名     職位:boss          薪水:0.0

員工:空明職位:ceo           薪水:11000.0

員工:紫龍  職位:ceo秘書       薪水:6000.0

員工:曹草  職位:銷售總監   薪水:15000.0

員工:允常   職位:銷售經理   薪水:6500.0

員工:黑子   職位:特級廚師    薪水:10000.0

員工:某a   職位:一級廚師      薪水:5000.0

ok,整個飯館的結構好了,接下來就是經營方面的問題了,做什麼菜呢?這可是個苦惱的問題,唉,算了明天再想吧!!!!

李實名的現代生活 之簡單工廠模式

一 定義 定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類。工廠方法使乙個類的例項化延遲到其子類。二 優點 良好的封裝性,結構清晰,擴充套件性非常優秀,遮蔽產品類,產品類的呼叫不影響呼叫者。三 故事繼續 示例 這天一大早,李實名就把空明,曹草,黑子都叫來辦公室,剛一進門,李實名就說到 近來很忙吧...

李實名的現代生活 之抽象工廠模式

一 定義 為建立一組相關或者相互依賴的物件提供乙個介面而無需指定他們的具體類。二 優點 封裝性很好,每個產品的實現類不是高層模組所需要關心的,產品內部的約束不予要被上層模組所知道。三 缺點 擴充套件性不好 四 故事繼續 示例 小黑心中那個恨啊,這該死的空明,陰我!但話雖這麼說,但是boss也發話了,...

李實名的現代生活之 備忘錄模式

一 定義 在不破壞 封裝性的前提下,捕獲乙個物件的內部狀態,並在該物件之外儲存這個狀態 二 優點 1 有時一些發起人物件的內部資訊必須儲存在發起人物件以外的地方,但是必須要由發起人物件自己讀取,這時,使用備忘錄模式可以把複雜的發起人內部資訊對其他的物件遮蔽起來,從而可以恰當地保持封裝的邊界。2 本模...