程序設計六大原則

1.單一職責

簡單來說單一職責就是一個類只負責一個功能。更加具體的說就是對一個類而言客燕,應該是一組相關性很高的函數鸳劳、數據的封裝狰贯,是高內聚低耦合的也搓,對外界而言應該僅有一個引起它變化的原因

2.開閉原則

開閉原則的英文全稱是Open Close Principle縮寫即OCP赏廓。開閉原則的定義是:軟件中的對象(類、模塊傍妒、函數等)應該對于擴展是開放的幔摸,但是對于修改是封閉的。在軟件的生命周期內颤练,因為變化既忆、升級和維護等原因需要對軟件的原有代碼進行修改時,可能會將錯誤的代碼引入嗦玖,從而破壞原有系統(tǒng)患雇。因此當軟件需求發(fā)生變化時,我們應該盡量通過擴展的方式 來實現變化宇挫,而不是通過修改已有的代碼苛吱。

開閉原則在項目中的使用:

1.基類與子類,子類可以繼承父類并擴展父類的功能

2.接口與實現類器瘪,接口定義功能翠储,實現類按照各自的需求實現

3.里氏替換原則

里氏替換原則的定義:如果對每一個類型為S的對象O1,都有類型為T的對象O2橡疼,程序P在所有的對象O1都帶換成O2時援所,程序P的行為沒有發(fā)生變化,那么類型S是類型T的子類型換言之就是所有引用基類的地方必須能透明的使用其子類的對象欣除。更通俗的講就是只要父類出現的地方子類就可以出現住拭,而且替換為子類也不會產生任何的錯誤或者異常。

里氏替換原則的核心是抽象耻涛,而抽象又依賴于繼承這個特性废酷,在OOP當中,繼承的優(yōu)缺點都相當明顯抹缕。

優(yōu)點:

1.代碼重用澈蟆,減少創(chuàng)建類的成本,每個子類都擁有父類的方法和屬性

2.子類與父類基本相似卓研,但又與父類有所區(qū)別

3.提高代碼的可擴展性

缺點:

1.繼承是侵入性的趴俘,只要繼承就必須擁有父類的方法和屬性

2.可能造成子類代碼冗余,靈活性降低奏赘,因為子類必須擁有父類的屬性和方法

4.依賴倒置原則

依賴倒置原則指定了一種特定的解耦形式寥闪,使得高層次的模塊不依賴與低層次模塊的實現細節(jié)的目的,依賴模塊被顛倒了磨淌。依賴倒置原則有以下幾個關鍵點:

1.高層模塊不應該依賴于低層模塊疲憋,兩者都應該依賴其抽象

2.抽象不應該依賴于細節(jié)

3.細節(jié)應該依賴于抽象

5.接口隔離原則

接口隔離原則的定義是:客戶端不應該依賴于他不需要的接口。另一種定義是:類之間的依賴關系應該建立在最小的接口上梁只。接口隔離原則將非常龐大缚柳,臃腫的接口拆分成更小的和更具體的接口埃脏,這樣客戶端將會值需要知道它們感興趣的方法。接口隔離原則的目的是系統(tǒng)解開耦合秋忙,從而容易重構彩掐、更改和部署。

6.迪米特原則

迪米特原則:一個對象應該對其他對象有最少的了解灰追,通俗的講堵幽,一個類應該對自己需要耦合或調用的類知道的最少,類的內部如何實現與調用者或者依賴者沒有關系弹澎,調用者或者依賴者只需要知道他需要的方法即可朴下,其他的一概不管。類與類之間的關系越密切苦蒿,耦合度越大桐猬,當一個類發(fā)生改變時,對另一個類的影響也越大刽肠。

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末溃肪,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子音五,更是在濱河造成了極大的恐慌惫撰,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件躺涝,死亡現場離奇詭異厨钻,居然都是意外死亡,警方通過查閱死者的電腦和手機坚嗜,發(fā)現死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進店門夯膀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人苍蔬,你說我怎么就攤上這事诱建。” “怎么了碟绑?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵俺猿,是天一觀的道長。 經常有香客問我格仲,道長押袍,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任凯肋,我火速辦了婚禮谊惭,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己圈盔,他們只是感情好惭蟋,可當我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著药磺,像睡著了一般。 火紅的嫁衣襯著肌膚如雪煤伟。 梳的紋絲不亂的頭發(fā)上癌佩,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天,我揣著相機與錄音便锨,去河邊找鬼围辙。 笑死,一個胖子當著我的面吹牛放案,可吹牛的內容都是我干的姚建。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼吱殉,長吁一口氣:“原來是場噩夢啊……” “哼掸冤!你這毒婦竟也來了?” 一聲冷哼從身側響起友雳,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤稿湿,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后押赊,有當地人在樹林里發(fā)現了一具尸體饺藤,經...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年流礁,在試婚紗的時候發(fā)現自己被綠了涕俗。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡神帅,死狀恐怖再姑,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情找御,我是刑警寧澤询刹,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站萎坷,受9級特大地震影響凹联,放射性物質發(fā)生泄漏。R本人自食惡果不足惜哆档,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一蔽挠、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦澳淑、人聲如沸比原。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽量窘。三九已至,卻和暖如春氢拥,著一層夾襖步出監(jiān)牢的瞬間蚌铜,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工嫩海, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留冬殃,地道東北人。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓叁怪,卻偏偏與公主長得像审葬,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子奕谭,可洞房花燭夜當晚...
    茶點故事閱讀 43,486評論 2 348

推薦閱讀更多精彩內容

  • 設計模式六大原則 設計模式六大原則(1):單一職責原則 定義:不要存在多于一個導致類變更的原因涣觉。通俗的說,即一個類...
    viva158閱讀 764評論 0 1
  • 轉載標注聲明:http://www.uml.org.cn/sjms/201211023.asp 目錄:[設計模式六...
    Bloo_m閱讀 707評論 0 7
  • 轉載自 設計模式六大原則[http://www.uml.org.cn/sjms/201211023.asp#3] ...
    廚子閱讀 1,089評論 2 5
  • 設計模式六大原則(1):單一職責原則 定義:不要存在多于一個導致類變更的原因血柳。通俗的說旨枯,即一個類只負責一項職責。 ...
    Jabir_Zhang閱讀 641評論 0 3
  • 小姑媽是個遺腹子混驰,她是在祖父去世后才出生的攀隔。當時祖父才四十幾歲,祖母哭得死去活來差點流產栖榨,幸得土藥方保住腹...
    鵬昌閱讀 765評論 0 0