敏捷開發的設計原則

2021-09-05 16:11:11 字數 1067 閱讀 3733

關於敏捷開發的設計原則:

單一職責原則srp:single responsibility principle

開放封閉原則ocp:open-close principle

liskov替換原則lsp:liskov substitution principle

依賴倒置原則dip:dependency invertion principle

介面隔離原則isp:inte***ce separate principle

關於包的設計原則:

重用發布等價原則rep:reuse equivalence principle

共同重用原則crp:common resue principle

共同封閉原則ccp:common close principle

無環依賴原則adp:acyclic dependency principle

穩定依賴原則sdp:stabilization dependency principle

穩定性度量公式:i=ce/(ca+ce) (i:不穩定度,ce:輸入耦合度,ca:輸出耦合度)

i取值範圍在【0,1】,i=0表示具有最大穩定度;ii=1標識具有最大不穩定度

穩定抽象原則sap:stabilization  abstract principle

gof說--基於物件組合的設計會有更多的物件(而有較少的類)。

如果單純的看這裡,你會明白似乎類較少符合物件導向的邏輯。

但是且慢,我們知道物件導向有一條原則叫單一職責原則--srp。

這樣好像類多又是物件導向思想的體現。

其實最重要的是gof中的這句話--且系統的行為將依賴物件間的關係而不是被定義在某個類中。

所以類的多少並不是問題的關鍵,是否職責單一也不是大問題,

最重要的是你現在的那些職責是都多少是不能被別的職責通過某種方式所代替的。

在bob大叔那裡定義職責是變化的原因,因此就可以認為這些變化的原因應該是不可代替的,

也可以說你不能由這個原因推導出別的原因。

只要這個原因間可以做到相互關聯,那麼你就可以把由於這些變化而引起變化的類組合起來,

而不是把他們規定在新的類中。

敏捷開發原則

原則一 我們最先要做的是通過盡早的持續的交付,有價值的軟體來時客戶滿意,初期交付的系統中所包含的功能越少,最終交付的系統的質量就越高,交付的越頻繁,最終產品的質量就越高。原則二即使到了開發的後期也歡迎改變需求敏捷過程,利用變化來為客戶創造競爭優勢。原則三經常性的交付,可以工作的軟體交付的間隔可以從幾...

敏捷開發的原則

一 單一職責原則 the single responsibility principal srp 就是說盡量的單一化類的功能,不要使類具有多個功能。如果類具有多個功能時,任意乙個功能的修改都需要改寫這個類,也就會影響其他的類,而這些類根本沒有使用修改的這個功能。如果單一化功能,這種情況就可以避免。例...

敏捷軟體開發 敏捷開發原則

編寫單元測試是一種驗證行為,更是一種設計行為。測試時乙個無價的文件。如果你想知道如何呼叫乙個函式或者建立乙個物件,會有乙個測試展示給你看。什麼是設計?不應該認為設計就是一組和 分離的uml圖。一組uml圖也許描繪了設計的一些部分,但是它不是設計。還是要 化 僵化性是指難以對軟體進行改動,即使是簡單的...