应用架构设计原则、模式摘录
1.Tier和Leyer的區(qū)別:
Tier 指的是系統(tǒng)的物理部署結(jié)構(gòu)
Leyer 指的是系統(tǒng)的邏輯層結(jié)構(gòu)
?
2.基本設(shè)計(jì)原則概述
KISS原則 提倡在設(shè)計(jì)和編碼中,盡量保持代碼的簡(jiǎn)約性,避免不必要的復(fù)雜
DRY原則 抽取系統(tǒng)中的公共部分,并把它放到一個(gè)地方避免重復(fù),既適用于代碼也試用于功能和業(yè)務(wù)邏輯
Tell,Don’t Ask原則 要去對(duì)代碼進(jìn)行合理的封裝,并把它放到正確的類(lèi)中,并明確告訴對(duì)象我們想要它去執(zhí)行什么樣的操作,而不是首先詢問(wèn)對(duì)象的狀態(tài)
YAGNI原則 設(shè)計(jì)中只包含所必須的功能,不包含你認(rèn)為將來(lái)可能會(huì)用到的功能或特性,防止過(guò)度設(shè)計(jì)
Soc原則 把一個(gè)軟件功能分離為單獨(dú)功能點(diǎn),被分離的每個(gè)功能點(diǎn)有唯一的行為和數(shù)據(jù),而且每一個(gè)功能都能被其他所需要的類(lèi)單獨(dú)使用,通過(guò)這個(gè)原則,我們可以最大限度的實(shí)現(xiàn)代碼重用、功能模塊重用
?
3.S.O.L.I.D原則
SRP 單一職責(zé)原則 就一個(gè)類(lèi)而言,應(yīng)僅有一個(gè)引起它變化的原因。
OCP 開(kāi)放封閉原則 軟件實(shí)體(類(lèi)、模塊)應(yīng)該是可擴(kuò)展的,但是不可修改。
LSP 里氏替換原則 子類(lèi)必須能夠替換它們的基類(lèi)型
ISP 接口分離原則 不應(yīng)該強(qiáng)迫類(lèi)實(shí)現(xiàn)它不需要的方法。如歌一個(gè)接口中包含了很多不大而且不相關(guān)的方法,那么這個(gè)接口就必須要被分組,讓后分離出多個(gè)接口,讓實(shí)現(xiàn)接口的類(lèi)去實(shí)現(xiàn)它需要的方法。
DIP 依賴倒置原則 高層的模塊不應(yīng)該依賴于低層的模塊,二者應(yīng)該依賴于抽象,抽象不應(yīng)該依賴于細(xì)節(jié),細(xì)節(jié)應(yīng)該依賴于抽象,高層模塊是指系統(tǒng)不經(jīng)常發(fā)生變化的部分,是一個(gè)系統(tǒng)區(qū)別于其他系統(tǒng)的標(biāo)志,包含了系統(tǒng)的策略選擇和業(yè)務(wù)模型。底層模塊是指系統(tǒng)中經(jīng)常發(fā)生變化的部分。
?
4.企業(yè)級(jí)開(kāi)發(fā)
企業(yè)級(jí)開(kāi)發(fā)通常是指在開(kāi)發(fā)工程中采用實(shí)現(xiàn)企業(yè)架構(gòu)的模式和實(shí)踐方法。企業(yè)級(jí)開(kāi)發(fā)會(huì)使用很多的方法和方法論來(lái)實(shí)現(xiàn)系統(tǒng)必須具備的指標(biāo):可靠性,靈活性,重用性、可維護(hù)性,這些指標(biāo)也是衡量一個(gè)軟件系統(tǒng)好壞的指標(biāo)。所有企業(yè)級(jí)項(xiàng)目就已上(RFRM)的項(xiàng)目,企業(yè)級(jí)項(xiàng)目的概念和項(xiàng)目的大小是沒(méi)有什么關(guān)系的。
?
5.測(cè)試驅(qū)動(dòng)開(kāi)發(fā)(TDD)
TDD的目的是通過(guò)測(cè)試來(lái)形成好的設(shè)計(jì)。進(jìn)行軟件開(kāi)發(fā)的時(shí)候,首先通過(guò)寫(xiě)不能測(cè)試通過(guò)的測(cè)試代碼來(lái)確認(rèn)一下業(yè)務(wù)邏輯,然后寫(xiě)出真正的業(yè)務(wù)邏輯代碼使測(cè)試代碼通過(guò),最后重構(gòu)代碼。
?
6.領(lǐng)域驅(qū)動(dòng)開(kāi)發(fā)(DDD)
領(lǐng)域驅(qū)動(dòng)開(kāi)發(fā)的核心是如何將業(yè)務(wù)領(lǐng)域的概念映射到軟件開(kāi)發(fā)中,DDD通過(guò)對(duì)現(xiàn)實(shí)領(lǐng)域中的概念進(jìn)行抽象和建模,然后進(jìn)一步分析業(yè)務(wù)規(guī)則和業(yè)務(wù)模型之家的關(guān)系,從而得到一個(gè)更加接近現(xiàn)實(shí)領(lǐng)域的所有業(yè)務(wù)模型,從而開(kāi)發(fā)能夠解決領(lǐng)域問(wèn)題的軟件。
?
7.行為驅(qū)動(dòng)開(kāi)發(fā)(BDD)
行為驅(qū)動(dòng)開(kāi)發(fā)是一種融合了可接受性測(cè)試驅(qū)動(dòng)計(jì)劃、領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)、及驅(qū)動(dòng)開(kāi)發(fā)的敏捷開(kāi)發(fā)模型。
轉(zhuǎn)載于:https://www.cnblogs.com/heyangyi/p/10249214.html
總結(jié)
以上是生活随笔為你收集整理的应用架构设计原则、模式摘录的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 静态资源加载
- 下一篇: 「NOI2017」泳池