一個(gè)系統(tǒng)一般包含多種風(fēng)格映跟。
概要設(shè)計(jì)蓄拣,主要對(duì)系統(tǒng)進(jìn)行拆分,拆分成子系統(tǒng)努隙,子系統(tǒng)再拆分成各個(gè)模塊球恤,模塊再拆分成各個(gè)小模塊。
結(jié)構(gòu)化設(shè)計(jì)中還沒(méi)有架構(gòu)的概念荸镊,所以概要設(shè)計(jì)相當(dāng)于架構(gòu)設(shè)計(jì)咽斧。
信息隱蔽:倡議使用公開(kāi)的接口進(jìn)行數(shù)據(jù)交換,而不是繞開(kāi)接口走內(nèi)部訪問(wèn)的機(jī)制躬存。
設(shè)計(jì)原則的考試形式张惹,一般是給你一段描述,判斷這個(gè)描述正確與否岭洲。
單一職責(zé)原則:目的單一的類(lèi)宛逗,代表與其他類(lèi)交流會(huì)比較少,這樣修改這個(gè)類(lèi)的影響面就小盾剩。
開(kāi)放-封閉原則:對(duì)系統(tǒng)進(jìn)行修改調(diào)整時(shí)雷激,優(yōu)先采用擴(kuò)展,通過(guò)增加模塊來(lái)實(shí)現(xiàn)告私。如果是對(duì)原有模塊進(jìn)行修改可能會(huì)引入新的錯(cuò)誤屎暇。
李氏替換原則:如果子類(lèi)中對(duì)方法進(jìn)行了重寫(xiě),那就不能替換父類(lèi)恭垦。
組合重用原則:組合代表松耦合格嗅,繼承代表緊耦合
最少知識(shí)法則:因?yàn)槿绻私夂苌钸氲郏瑫?huì)導(dǎo)致繞開(kāi)接口直接進(jìn)行操作屯掖。
設(shè)計(jì)模式的考試形式:給你一個(gè)場(chǎng)景贴铜,采用哪種設(shè)計(jì)模式合適;設(shè)計(jì)模式的分類(lèi)瀑晒,某個(gè)設(shè)計(jì)模式應(yīng)該分到哪個(gè)類(lèi)別绍坝。
類(lèi)模式:不需要實(shí)例化就可以執(zhí)行苔悦。
對(duì)象模式:需要實(shí)例化才能去完成職能玖详。
中介:將多對(duì)多轉(zhuǎn)化成1對(duì)多
代理:中間加一層拗踢,目的是不直接聯(lián)系。
訪問(wèn)者模式:訪問(wèn)和數(shù)據(jù)做分離诸狭。
DNS域名解析:將域名解析為不同服務(wù)器的ip地址,從而實(shí)現(xiàn)在解析層進(jìn)行分流眨唬。
NAT通過(guò)ip地址和端口號(hào)的映射來(lái)實(shí)現(xiàn)負(fù)載均衡好乐。
有狀態(tài):與上下文有關(guān)
無(wú)狀態(tài):與上下文無(wú)關(guān)蔚万,本地存了session,調(diào)接口時(shí)不需要再傳遞客戶信息昵慌。
緩存的引入是提升性能的一種解決方案淮蜈。
CDN:通過(guò)對(duì)服務(wù)器進(jìn)行鏡像操作梧田,發(fā)送到各個(gè)地方,減少延遲裁眯。建立網(wǎng)絡(luò)型的拓?fù)浣Y(jié)構(gòu)穿稳,拓?fù)浣Y(jié)構(gòu)的基本思想是部署多個(gè)節(jié)點(diǎn),以便客戶群體可以就近訪問(wèn)艰垂,從而減少網(wǎng)絡(luò)延遲,以及長(zhǎng)距離的數(shù)據(jù)傳輸和通信娩怎。
定時(shí)圖核心是狀態(tài)轉(zhuǎn)換+時(shí)間因素