一、定義
在不破壞**封裝性的前提下,捕獲乙個物件的內部狀態,並在該物件之外儲存這個狀態
二、優點
1、有時一些發起人物件的內部資訊必須儲存在發起人物件以外的地方,但是必須要由發起人物件自己讀取,這時,
使用備忘錄模式可以把複雜的發起人內部資訊對其他的物件遮蔽起來,從而可以恰當地保持封裝的邊界。
2、本模式簡化了發起人類。發起人不再需要管理和儲存其內部狀態的乙個個版本,客戶端可以自行管理他們所需
要的這些狀態的版本。
3、當發起人角色的狀態改變的時候,有可能這個狀態無效,這時候就可以使用暫時儲存起來的備忘錄將狀態復原。
三、備忘錄模式的缺點
1、如果發起人角色的狀態需要完整地儲存到備忘錄物件中,那麼在資源消耗上面備忘錄物件會很昂貴。
2、當負責人角色將乙個備忘錄 儲存起來的時候,負責人可能並不知道這個狀態會占用多大的儲存空間,從而無法提醒使用者乙個操作是否很昂貴。
3、當發起人角色的狀態改變的時候,有可能這個協議無效。如果狀態改變的成功率不高的話,不如採取「假如」協議模式。
四、故事繼續(小喬出場)
「後天就是『西湖』餐飲大會,票你搞定了沒?」李實名把空明叫來問到。
「搞定了,明天早上7點的,我.....」空明還想邀功。
「那就好!」
當晚,李實名正走在回家的路上(他盡量不坐車),他遇到了他到現代認識的第乙個人--翔宇,他剛來這個世界的時候,身無分文(玉佩除外),而且他根本不了解這個世界,是翔宇幫助了他.........所以當晚他們一起吃了個飯,喝了點小酒,於是......
第二天正午,李實名起來了。
「太陽這麼耀眼,幾點了?」隨手抓過表一看:11:40!!!
「我的西湖啊!」.............「我發誓,我以後一定要記住每一件重要的事!!!」
於是:這是 李實名
下面是場景再現:
結果:昨天:明日7點要坐飛機去杭州
昨晚:喝了點酒,頭腦空空....
現在:明日7點要坐飛機去杭州
ok,結果很好,沒有忘記去杭州的事情。
但是時間一長,李實名發現要記的事情太多,應酬又很多,有點力不從心的感覺。
「唉.....要是魏正還在就好了.....對了,我可以招乙個嘛!」
於是當天下午,李實名把幾個部門頭頭都叫到辦公室來,對他們下達招聘秘書的指示:
身高:168-178之間;
相貌要好,學歷:本科以上...............
第三天,李實名就坐在了招聘大廳裡,看著應聘者乙個乙個來,乙個乙個又走了,李實名的臉越來越陰沉,「還有幾個?」
「還有5個.....」空明開始抹汗了,心想:誰讓你要求這麼高。
乙個靚麗的身影進來了,boss眼前一亮:「你叫什麼?」
「小喬」
「那你................」(此處省去1000字)
「老闆,該問正事了.....」空明提醒到。
「咳咳,嗯.....」於是李世民紅著臉,將自己的問題說出來。
小喬答道:「這個簡單,這是秘書最基本的工作之一......」
「那要是,我有多個事情要記呢?」
「那也沒問題!」小喬自信的說。
於是:這是 有了秘書的boss
這是秘書的備份(可以備份多項內容)
這是秘書,也就是 小喬
小喬的場景
結果:(李實名只忘了第一件事)
「好好好,就是你了!!」李實名很高興。
「老闆,我們是不是應該讓她先回去等訊息.....」
「等個p啊,就是她了!」李實名怒了。
「.............好吧」
就這樣,「唐」酒樓又添了一名新的員工:老闆的秘書——小喬。
但是,各方面都這麼出色的小喬,為什麼會來還比較弱小的「唐」酒樓呢?
李實名的現代生活 之組合模式
一 定義 將物件組合成樹形結構以表示 部分 整體 的層次結構,使得使用者對單個物件和組合的使用具有一致性。二 優點 高層模組呼叫簡單,子節點增加方便 三 故事開始 示例 李實名要開餐館,地點和房子都選好了,可是人手還不夠,於是李實名開始著手尋攬著一些好的下屬,經過幾天的尋找,人手終於被他全部找到了,...
李實名的現代生活 之簡單工廠模式
一 定義 定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類。工廠方法使乙個類的例項化延遲到其子類。二 優點 良好的封裝性,結構清晰,擴充套件性非常優秀,遮蔽產品類,產品類的呼叫不影響呼叫者。三 故事繼續 示例 這天一大早,李實名就把空明,曹草,黑子都叫來辦公室,剛一進門,李實名就說到 近來很忙吧...
李實名的現代生活 之抽象工廠模式
一 定義 為建立一組相關或者相互依賴的物件提供乙個介面而無需指定他們的具體類。二 優點 封裝性很好,每個產品的實現類不是高層模組所需要關心的,產品內部的約束不予要被上層模組所知道。三 缺點 擴充套件性不好 四 故事繼續 示例 小黑心中那個恨啊,這該死的空明,陰我!但話雖這麼說,但是boss也發話了,...