讀書筆記設計
項籍少時,學書不成,去;學劍,又不成,項梁怒之。籍曰:“書足以記名姓而已。劍一人敵,不足學,學萬人敵。”
——《史記 項羽本紀》
最近才意識到軟件工程類知識的重要性,軟件工程的知識就跟兵法一樣,要做到“萬人敵”,軟件工程的學習是必不可少的。從現在開始學習設計模式的一些知識,以下的為筆記。
設計模式説白了就是一些成功的面向對象設計的經驗,設計模式可以讓我們更加方便的複用成功的設計和體系結構。
模式的四個基本要素:
1. 模式名稱;例如:工廠模式
2. 問題;描述了應該在何時使用模式;
3. 解決方案;
4. 效果。
設計的幾個原則:
一、”開放—封閉“原則(OCP)
Open-Closed Principle原則是説一個軟件應該對擴展開放,對修改關閉。
這樣做的好處是可以通過擴展已有的系統提供新的行為以滿足新的需求,提高軟件的適應 性和靈活性。已有的軟件模塊(特別是抽象層)不應該再修改,這樣做是為了提高軟件的'穩定性和延續性。
二、“里氏代換”原則(LSP)
Liskov Substitution Principle是説子類型必須能夠替換他們的基類型。這是繼承的特性。”男人“繼承”人“,男人必須是人吧?
三、依賴倒置原則(DIP)
Dependence Inversion Principle原則是説要依賴於抽象,不要依賴於具體。簡單的説,依賴倒置原則要求客户端依賴於抽象耦合。原則表述:抽象不應當依賴於細節;細節應當依賴於抽象;要針對接口編程,不針對實現編程。
四、接口隔離原則(ISP)
Interf-ace Segregation Principle是説使用多個專門的接口比使用單一的總接口總要好。換而言之,從一個客户類的角度來講:一個類對另外一個類的依賴性應當是建立在最小接口上的。過於臃腫的接口是對接口的污染。不應該強迫客户依賴於它們不用的方法。
五、合成聚合複用原則(CARP)
Composite/Aggregate Reuse Principle就是在一個新的對象裏面使用一些已有的對象,使之成為新對象的一部分;新對象通過向這些對象的委派達到複用已有功能的目的。簡而言之,要儘量使用合成/聚合,儘量不要使用繼承。
六、迪比特原則(LoD)
迪米特法則(Law of Demeter或簡寫LoD)又叫最少知識原則(Least Knowledge Principle或簡寫為LKP),也就是説,一個對象應當對其它對象有儘可能少的瞭解。
-
精選唯美的情感語錄合集35句
一個人心裏的位置那麼少,一個人進來了,另一個人不得不走。下面是小編搜索整理的唯美的情感語錄35句,歡迎大家分享。1、香墨彎彎畫,燕脂淡淡勻。揉藍衫子杏黃裙,獨倚玉闌無語點檀脣。人去空流水,花飛半掩門。亂山何處覓行雲?又是一鈎新月照黃昏。2、不知是誰把琴絃弄...
-
常用早安正能量語錄46條
書上説,不要在十六七歲愛上一個人,因為那個人會是你最愛,卻永遠得不到的人。下面是小編整理的早安正能量語錄46條,感興趣的一起來看看吧。1、我們登山的流三種眼淚,一種是成功的,一種是失敗的,一種是失敗後活着回來慶幸還可以接着再來的。2、任何新生事物的成長都是...
-
2023年簡單的青春正能量語錄合集67條
人生如花開花謝,潮起潮落,有得便有失,有苦也有樂。如果誰總自以為失去的太多,總受到這個意念的折磨,誰才是最不幸的人。下面是小編整理的青春正能量語錄67條,供大家參考借鑑,希望可以幫助到有需要的朋友。1、好好努力,時光欠你的,會在往後的日子慢慢歸還。2、因為還健...
-
關於非主流個性朋友圈心語(通用90句)
嘴巴上説的永遠要比現實上的要好得多。這篇文章是小編為你整理的非主流個性朋友圈心語,歡迎大家閲讀,希望對大家有所幫助。1、沒再見到你,或許是道路太擁擠,不怪你。2、流年,我等一個人執我之手,與我偕老。3、長長短短眼前的永遠,又有誰能看得見。4、我努力微笑着,努力...