什么是面向?qū)ο笤瓌t
- 面向?qū)ο笤瓌t——oop(object Oriented Principle),遵循原則設(shè)計(jì)程序爽彤,可以使我們的代碼更具有規(guī)范性,使程序更加有穩(wěn)定性尚猿,擴(kuò)展性澈蝙,和靈活性,程序更加有秩序寄疏,更少量的代碼卻能做到更多的功能是牢。是一個(gè)優(yōu)秀程序所必要的。
分別是哪些原則
單一職責(zé)原則(Simple Responsibility Principle)
- 減少耦合陕截,根據(jù)具體的業(yè)務(wù)驳棱、功能對(duì)類(lèi)進(jìn)行相應(yīng)的拆分。
- 就一個(gè)類(lèi)而言农曲,應(yīng)該僅有一個(gè)引起它變化的原因社搅,簡(jiǎn)單來(lái)說(shuō),一個(gè)類(lèi)中應(yīng)該是一組相關(guān)性很高的函數(shù)、數(shù)據(jù)的封裝形葬。
開(kāi)閉原則(Open close principle)
- 讓程序更穩(wěn)定合呐、更靈活
- 軟件中的對(duì)象(類(lèi)、模塊笙以、函數(shù)等)應(yīng)該對(duì)于擴(kuò)展是開(kāi)放的硼砰,但是對(duì)于修改是封閉的栖雾,而遵循開(kāi)閉原則的重要手段應(yīng)該是通過(guò)抽象砸讳。
依賴(lài)倒置原則(Dependence Inversion Principle)
- 高層模塊不應(yīng)該依賴(lài)底層模塊类垦,兩者都應(yīng)該依賴(lài)其抽象
- 抽象不應(yīng)該依賴(lài)細(xì)節(jié)
- 細(xì)節(jié)應(yīng)該依賴(lài)抽象春塌。
接口隔離原則(Interface Segregation Principle)
- 客戶(hù)端不應(yīng)該依賴(lài)他不需要的接口
- 類(lèi)間的關(guān)系應(yīng)該建立在最小的接口上
- 接口隔離原則將非常龐大捅彻,臃腫的接口拆分成更小栗恩,更具體的接口巨双,這樣客戶(hù)將會(huì)知道他們感興趣的方法凛剥。
- 接口隔離原則的目的是系統(tǒng)解開(kāi)耦合侠仇,從而容易重構(gòu)、更改和重新部署犁珠。
迪米特原則((Law Of Demeter))
- 最少知識(shí)原則
- 一個(gè)對(duì)象應(yīng)該對(duì)氣他對(duì)象有最少的了解
- 一個(gè)類(lèi)應(yīng)該對(duì)自己需要耦合或調(diào)用的類(lèi)知道的最少逻炊。
- 類(lèi)的內(nèi)部如何實(shí)現(xiàn)與調(diào)用者或者依賴(lài)者沒(méi)有關(guān)系,調(diào)用者只需要知道他需要的方法即可犁享,其他的可一概不管余素。
- 類(lèi)與類(lèi)之間的關(guān)系越密切,耦合度越大炊昆,當(dāng)一個(gè)類(lèi)發(fā)生改變時(shí)桨吊,對(duì)一個(gè)類(lèi)的影響也越大