設(shè)計(jì)原則:應(yīng)對系統(tǒng)可能需要的變化以及應(yīng)付變化

1.找出變化,獨(dú)立出來

2.針對接口編程,而非針對實(shí)現(xiàn)編程

即針對超類型編程,根據(jù)實(shí)際情況執(zhí)行到真正的行為,變量的聲明通常是一個超類型或一個接口,具體實(shí)現(xiàn)此超類型的類所產(chǎn)生的對象都可指定給此變量

3.多用組合,少用繼承

4.交互對象之間的松耦合

即相互關(guān)聯(lián)的對象不會因?yàn)樽陨淼母淖兌绊憣Ψ?/p>

(1)策略模式:定義了算法族,將其封裝,讓它們之間可以互相替換,且讓算法的變化獨(dú)立于使用算法的客戶。

StrategyPattern

總結(jié):

a. 超類中定義子類中必須繼承的變量或行為

b. 子類中有變化且不一定存在的行為抽象為一個接口

優(yōu)點(diǎn):

a. 可在運(yùn)行時動態(tài)的改變行為

b. 當(dāng)增加其它行為或類時無需對原有子類進(jìn)行更改

適用實(shí)例:

游戲中角色(屬性、技能):技能可能會改變

(2)觀察者模式:在對象之間定義一對多的依賴,當(dāng)一個對象改變狀態(tài)時,依賴它的對象

ObservePattern(推式方式)

推式方式:

將所有數(shù)據(jù)推送給觀察者

拉式方式:

為觀察者提供主題的引用,由觀察者自行取數(shù)據(jù)

具體應(yīng)用:

JavaBeans、GMI

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 設(shè)計(jì)模式匯總 一、基礎(chǔ)知識 1. 設(shè)計(jì)模式概述 定義:設(shè)計(jì)模式(Design Pattern)是一套被反復(fù)使用、多...
    MinoyJet閱讀 4,094評論 1 15
  • 從三月份找實(shí)習(xí)到現(xiàn)在,面了一些公司,掛了不少,但最終還是拿到小米、百度、阿里、京東、新浪、CVTE、樂視家的研發(fā)崗...
    時芥藍(lán)閱讀 42,818評論 11 349
  • 中午腿查了成績大阪府立合格 真的是超級開心的 努力一年真的沒白費(fèi) 由衷祝福 老覺得自己比別人多帶一件事慢半拍 人家...
    岑阿阿岑閱讀 181評論 0 0
  • 工作中難免與人爭執(zhí)辯論,但一定要注意語調(diào)和態(tài)度。 無論何時都不應(yīng)該用很大的聲音與對方交流。自己以為沒有激動生氣...
    認(rèn)知牛閱讀 362評論 0 0

友情鏈接更多精彩內(nèi)容