目錄
[s] single responsibility principle (單一功能原則)
單一功能原則 :單一功能原則 認為物件應該僅具有一種單一功能的概念。
[o] open close principle (開閉原則)
開閉原則(ocp) 認為「軟體體應該是對於擴充套件開放的,但是對於修改封閉的」的概念。
[l] liskov substitution principle(黎克特制替換原則)
黎克特制替換原則 :黎克特制替換原則 認為「程式中的物件應該是可以在不改變程式正確性的前提下被它的子類所替換的」的概念。
[i] inte***ce segregation principle(介面隔離原則)
介面隔離原則 :介面隔離原則 認為「多個特定客戶端介面要好於乙個寬泛用途的介面」的概念。
[d] dependency inversion principle(依賴反轉原則)
依賴反轉原則: 依賴反轉原則 認為乙個方法應該遵從「依賴於抽象而不是乙個例項」 的概念。依賴注入是該原則的一種實現方式。
資訊專家 (information expert):就是乙個類只乾該幹的事情,不該幹的事情不幹。在系統設計時,需要將職責分配給具有實現這個職責所需要資訊的類。資訊專家模式對應於物件導向設計原則中的單一職責原則。
創造者(creator)
(1) 問題:誰應該負責產生類的例項?
(2) 解決方案:如果符合下面的乙個或者多個條件,則可將建立類a例項的職責分配給類b:
b包含a;
b聚合a;
b擁有初始化a的資料並在建立類a的例項時將資料傳遞給類a;
b記錄a的例項;
b頻繁使用a。
低耦合 (low coupling)
高內聚 (high cohesion)
控制器 (controller):乙個控制器是負責接收或者處理系統事件的非圖形使用者介面物件。乙個控制器定義一組系統操作方法。在控制器模式中,要求系統事件的接收與處理通常由乙個高階類來代替;乙個子系統需要定義多個控制器,分別對應不同的事務處理。通常,乙個控制器應當把要完成的功能委託給其他物件,它只負責協調和控制,本身不完成太多的功能。
多型 (polymorphism):將具體的職責分配給指定的子類
純虛構 (pure fabrication):。在系統中引入抽象類或介面來提高系統的擴充套件性也可以認為是純虛構模式的一種應用。純虛構模式通常基於相關功能的劃分,是一種以功能為中心的物件或行為物件。在很多設計模式中都體現了純虛構模式,例如介面卡模式、策略模式等等
中介 (indirection)
受保護變化 (protected variations):找出預計有變化或不穩定的元素,為其建立穩定的「介面」而分配職責。
1.基本模型:線性和迭代
2.瀑布:簡單
3.增量:多個瀑布序列
4.v字:v模型僅僅把測試過程作為在需求分析、系統設計及編碼之後的乙個階段,忽視了測試對需求分析,系統設計的驗證,需求的滿足情況一直到後期的驗收測試才被驗證。
5.原型:原型模型通過向使用者提供原型獲取使用者的反饋,使開發出的軟體能夠真正反映使用者的需求。同時,原型模型採用逐步求精的方法完善原型,使得原型能夠「快速」開發。
6.螺旋:螺旋模型是一種演化軟體開發過程模型,它兼顧了快速原型的迭代的特徵以及瀑布模型的系統化與嚴格監控。螺旋模型最大的特點在於引入了其他模型不具備的風險分析,使軟體在無法排除重大風險時有機會停止,以減小損失。同時,在每個迭代階段構建原型是螺旋模型用以減小風險的途徑。
7.迅捷開發:快速迭代和小規模持續改進。
軟體構造1 2
軟體的特性以及軟體構造的關鍵因素 折中 在特定的情況下選擇比較重要的因素,捨棄其他的不重要因素。在軟體構造的過程中,不可能使軟體的各種特性都能夠達到最優化,因此需要在各種特性之間進行折中選擇,其中正確性是必須要保證的特性。軟體的內部特性與外部特性 外部 正確性 需要滿足實現預定的標準是最重要的質量指...
王道1 2章重點演算法題
include include include using namespace std define maxsize 20 順序表 typedef struct sqlist 鍊錶 typedef struct lnode linklist,lnode 初始化 void init sqist sql...
軟體測試1 9章重點知識總結
第一章知識重點 軟體的概念 軟體 軟體危機 軟體工程 第二章知識重點 軟體測試基本概念 什麼是軟體測試 軟體測試的目的 軟體測試基本原則 軟體測試工作流程及工作內容 軟體測試的心理學 第三章知識重點 生命週期測試概念 v模型w模型 生命週期各個階段的測試內容 第四章知識重點 軟體測試分類 軟體測試從...