讀書筆記設(shè)計
項籍少時,學(xué)書不成,去;學(xué)劍,又不成,項梁怒之。籍曰:“書足以記名姓而已。劍一人敵,不足學(xué),學(xué)萬人敵!
——《史記 項羽本紀(jì)》
最近才意識到軟件工程類知識的重要性,軟件工程的知識就跟兵法一樣,要做到“萬人敵”,軟件工程的學(xué)習(xí)是必不可少的。從現(xiàn)在開始學(xué)習(xí)設(shè)計模式的一些知識,以下的為筆記。
設(shè)計模式說白了就是一些成功的面向?qū)ο笤O(shè)計的經(jīng)驗,設(shè)計模式可以讓我們更加方便的復(fù)用成功的`設(shè)計和體系結(jié)構(gòu)。
模式的四個基本要素:
1. 模式名稱;例如:工廠模式
2. 問題;描述了應(yīng)該在何時使用模式;
3. 解決方案;
4. 效果。
設(shè)計的幾個原則:
一、”開放—封閉“原則(OCP)
Open-Closed Principle原則是說一個軟件應(yīng)該對擴展開放,對修改關(guān)閉。
這樣做的好處是可以通過擴展已有的系統(tǒng)提供新的行為以滿足新的需求,提高軟件的適應(yīng) 性和靈活性。已有的軟件模塊(特別是抽象層)不應(yīng)該再修改,這樣做是為了提高軟件的穩(wěn)定性和延續(xù)性。
二、“里氏代換”原則(LSP)
Liskov Substitution Principle是說子類型必須能夠替換他們的基類型。這是繼承的特性。”男人“繼承”人“,男人必須是人吧?
三、依賴倒置原則(DIP)
Dependence Inversion Principle原則是說要依賴于抽象,不要依賴于具體。簡單的說,依賴倒置原則要求客戶端依賴于抽象耦合。原則表述:抽象不應(yīng)當(dāng)依賴于細節(jié);細節(jié)應(yīng)當(dāng)依賴于抽象;要針對接口編程,不針對實現(xiàn)編程。
四、接口隔離原則(ISP)
Interf-ace Segregation Principle是說使用多個專門的接口比使用單一的總接口總要好。換而言之,從一個客戶類的角度來講:一個類對另外一個類的依賴性應(yīng)當(dāng)是建立在最小接口上的。過于臃腫的接口是對接口的污染。不應(yīng)該強迫客戶依賴于它們不用的方法。
五、合成\聚合復(fù)用原則(CARP)
Composite/Aggregate Reuse Principle就是在一個新的對象里面使用一些已有的對象,使之成為新對象的一部分;新對象通過向這些對象的委派達到復(fù)用已有功能的目的。簡而言之,要盡量使用合成/聚合,盡量不要使用繼承。
六、迪比特原則(LoD)
迪米特法則(Law of Demeter或簡寫LoD)又叫最少知識原則(Least Knowledge Principle或簡寫為LKP),也就是說,一個對象應(yīng)當(dāng)對其它對象有盡可能少的了解。
【讀書筆記設(shè)計】相關(guān)文章:
設(shè)計類讀書筆記10-26
工業(yè)設(shè)計讀書筆記11-04
體育教學(xué)設(shè)計讀書筆記03-13
讀書筆記小報版面設(shè)計08-23
讀書筆記小報版面設(shè)計08-23
設(shè)計心理學(xué)讀書筆記09-22
室內(nèi)設(shè)計讀書筆記02-19
《平面設(shè)計配色全攻略》讀書筆記07-11