設(shè)計(jì)模式

1. OO基礎(chǔ)

抽象
封裝
多態(tài)
繼承

2. OO原則

封裝變化
多用組合锋边,少用繼承
針對(duì)接口編程,不針對(duì)實(shí)現(xiàn)編程
為交互對(duì)象之間的松耦合設(shè)計(jì)而努力
對(duì)擴(kuò)展開放尊勿,對(duì)修改關(guān)閉

3. 設(shè)計(jì)模式

3.1 策略模式

<b>策略模式</b> 定義了算法族僧凤,分別封裝起來,讓它們之間可以互相替換元扔,此模式讓算法的變化獨(dú)立于使用算法的客戶拼弃。


策略模式01.png

3.2 觀察者模式

<b>觀察者模式</b> 定義了一系列對(duì)象之間的一對(duì)多關(guān)系,當(dāng)一個(gè)對(duì)象改變狀態(tài)摇展,其他依賴者都會(huì)收到通知吻氧,并自動(dòng)更新。


觀察者模式01.png
1. 觀察者模式定義了對(duì)象之間一對(duì)多的關(guān)系咏连;
2. 可觀察者用一個(gè)共同的接口來更新觀察者盯孙;
3. 觀察者和可觀察者之間用松耦合方式結(jié)合,可觀察者不知道觀察者的細(xì)節(jié)祟滴,只知道觀察者實(shí)現(xiàn)了觀察者接口振惰;
4. 使用此模式時(shí),可以從被觀察者處推(push)或拉(pull)數(shù)據(jù)垄懂;
5. 有多個(gè)觀察者時(shí)骑晶,不可以依賴特定的通知次序痛垛;
6. Java有多種觀察者模式的實(shí)現(xiàn),包括通用的java.util.Observable桶蛔;
7. java.util.Observable的實(shí)現(xiàn)存在一些問題匙头;
8. 可以考慮自己實(shí)現(xiàn)Observable;
9. 觀察者模式有大量的實(shí)際應(yīng)用場(chǎng)景仔雷,如:JavaBeans等蹂析;

3.3 裝飾者模式

<b>裝飾者模式</b> 動(dòng)態(tài)地將責(zé)任附加到對(duì)象上。想要擴(kuò)展功能碟婆,裝飾者提供有別于繼承的另一種選擇电抚。


裝飾者模式01.jpg
1. 繼承屬于擴(kuò)展形式之一,但不見得是達(dá)到彈性設(shè)計(jì)的最佳方式竖共;
2. 在我們的設(shè)計(jì)中蝙叛,應(yīng)該允許行為可以被擴(kuò)展,而無須修改現(xiàn)有的代碼公给;
3. 組合和委托可用于在運(yùn)行時(shí)動(dòng)態(tài)地加上新的行為借帘;
4. 除了繼承,裝飾者模式也可以讓我們擴(kuò)展行為妓布;
5. 裝飾者模式意味著一群裝飾者類姻蚓,這些類用來包裝具體組件宋梧;
6. 裝飾者類反映出被裝飾的組件類型(實(shí)際上匣沼,他們具有相同的類型,都經(jīng)過接口或繼承實(shí)現(xiàn))捂龄;
7. 裝飾者可以在被裝飾者的行為前面與/或后面加上自己的行為释涛,甚至將被裝飾者的行為整個(gè)取代掉,而達(dá)到特定的目的倦沧;
8. 你可以用無數(shù)個(gè)裝飾者包裝一個(gè)組件唇撬;
9. 裝飾者一般對(duì)組件的客戶是透明的,除非客戶程序依賴于組件的具體類型展融;
10. 裝飾者會(huì)導(dǎo)致設(shè)計(jì)中出現(xiàn)許多小對(duì)象窖认,如果過度使用,會(huì)讓程序變得很復(fù)雜告希;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末扑浸,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子燕偶,更是在濱河造成了極大的恐慌喝噪,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,968評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件指么,死亡現(xiàn)場(chǎng)離奇詭異酝惧,居然都是意外死亡榴鼎,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門晚唇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來巫财,“玉大人,你說我怎么就攤上這事缺亮∥痰樱” “怎么了?”我有些...
    開封第一講書人閱讀 153,220評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵萌踱,是天一觀的道長葵礼。 經(jīng)常有香客問我,道長并鸵,這世上最難降的妖魔是什么鸳粉? 我笑而不...
    開封第一講書人閱讀 55,416評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮园担,結(jié)果婚禮上届谈,老公的妹妹穿的比我還像新娘。我一直安慰自己弯汰,他們只是感情好艰山,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評(píng)論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著咏闪,像睡著了一般曙搬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上鸽嫂,一...
    開封第一講書人閱讀 49,144評(píng)論 1 285
  • 那天纵装,我揣著相機(jī)與錄音,去河邊找鬼据某。 笑死橡娄,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的癣籽。 我是一名探鬼主播挽唉,決...
    沈念sama閱讀 38,432評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼筷狼!你這毒婦竟也來了瓶籽?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,088評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤桑逝,失蹤者是張志新(化名)和其女友劉穎棘劣,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體楞遏,經(jīng)...
    沈念sama閱讀 43,586評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡茬暇,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評(píng)論 2 325
  • 正文 我和宋清朗相戀三年首昔,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片糙俗。...
    茶點(diǎn)故事閱讀 38,137評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡勒奇,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出巧骚,到底是詐尸還是另有隱情赊颠,我是刑警寧澤,帶...
    沈念sama閱讀 33,783評(píng)論 4 324
  • 正文 年R本政府宣布劈彪,位于F島的核電站竣蹦,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏沧奴。R本人自食惡果不足惜痘括,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望滔吠。 院中可真熱鬧纲菌,春花似錦、人聲如沸疮绷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽冬骚。三九已至椅贱,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間唉韭,已是汗流浹背夜涕。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評(píng)論 1 262
  • 我被黑心中介騙來泰國打工犯犁, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留属愤,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,595評(píng)論 2 355
  • 正文 我出身青樓酸役,卻偏偏與公主長得像住诸,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子涣澡,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容