国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

面象對(duì)象設(shè)計(jì)原則簡(jiǎn)介

2019-11-14 23:22:58
字體:
供稿:網(wǎng)友
面象對(duì)象設(shè)計(jì)原則簡(jiǎn)介一、面向?qū)ο笤O(shè)計(jì)原則
  • 單一職責(zé)原則(SRP)
  • 開閉原則(OCP)
  • 里氏替換原則(LSP)
  • 依賴倒置原則(Dip)
  • 接口隔離原則(LSP)
  • 迪米特原則(LOP)
  • 組合/聚合復(fù)用原則(CARP)

二、單一職責(zé)原則(SRP)
  • 定義:系統(tǒng)中每一個(gè)類都應(yīng)該中有一個(gè)職責(zé)
  • 優(yōu)點(diǎn):高內(nèi)聚、低耦合
  • 高內(nèi)聚是指一個(gè)類或者功能模塊由相關(guān)性很強(qiáng)的代碼組成,類或者模塊很難拆分,它只負(fù)責(zé)一項(xiàng)任務(wù)
  • 耦合指的是類之間或模塊之間的相互聯(lián)系,耦合度越高,說明聯(lián)系越緊密,獨(dú)立性越差,我們?cè)诫y拆分相反,耦合度越低,聯(lián)系越松散獨(dú)立性越好,可重用的可能性越大

按照單一職責(zé)開發(fā)可以縮小單個(gè)類的規(guī)模,降低耦合度,并提高類的復(fù)用性

三、開閉原則(OCP)
  • 對(duì)擴(kuò)展開放,對(duì)修改關(guān)閉

優(yōu)點(diǎn):

  • 適應(yīng)性和靈活性
  • 穩(wěn)定性和延續(xù)性
  • 可復(fù)用性與可維護(hù)性

四、里氏替換原則(LSP)
  • 定義:在任何父類出現(xiàn)的地方都可以用其子類來替換且不影響功能。它是對(duì)開閉原則的擴(kuò)展。
  • 里氏替換原則所表述的就是在一個(gè)繼承體系中的對(duì)象應(yīng)該具有共同的外在特征。
  • 里氏替換原則主張我們使用“抽象”和“多態(tài)”將設(shè)計(jì)中的靜態(tài)結(jié)構(gòu)改為動(dòng)態(tài)結(jié)構(gòu)。
  • 對(duì)象的多態(tài)性其實(shí)就是最好的里氏替換原則的例子
五、依賴倒置原則(DIP)(控制反轉(zhuǎn))
  • 定義:高層模塊不應(yīng)該依賴底層模塊,兩者都應(yīng)該依賴抽象;抽象不應(yīng)該依賴細(xì)節(jié);細(xì)節(jié)應(yīng)該依賴抽象。
  • 接口負(fù)責(zé)公共方法的聲明,抽象類負(fù)責(zé)公共方法的實(shí)現(xiàn),和開閉原則相似,它們都是在程序增加新功能時(shí)不去修改原有的程序
  • 面向接口編程
  • 好處:提高程序的穩(wěn)定性,可維護(hù)性,可擴(kuò)展性。

六、接口隔離原則(LSP)

定義:使用多個(gè)專門的接口比使用單一的總接口要好

優(yōu)點(diǎn):不強(qiáng)迫新功能實(shí)現(xiàn)不需要的方法

七、迪米特原則(LOP)(最少知識(shí)原則)

定義:一個(gè)對(duì)象應(yīng)當(dāng)對(duì)其他對(duì)象盡可能少的了解,也盡可能的被更少的對(duì)象了解

當(dāng)一個(gè)類需要調(diào)用另一個(gè)類的某個(gè)方法時(shí),通過中介類實(shí)現(xiàn).

盡量降低訪問級(jí)別

優(yōu)點(diǎn):降低耦合

缺點(diǎn):過度使用,通信效率降低,產(chǎn)生大量的中介類

不能過度使用

八、組合/聚合復(fù)用原則(CARP)

定義:優(yōu)先使用組合,使用系統(tǒng)更靈活,其次才考慮繼承,達(dá)到復(fù)用的目的

優(yōu)點(diǎn):

  • 組合復(fù)用所需要的依賴較少
  • 組合復(fù)用可以在運(yùn)行時(shí)間內(nèi)動(dòng)態(tài)進(jìn)行,新對(duì)象可以動(dòng)態(tài)的引用與成分對(duì)象類型相同的對(duì)象

缺點(diǎn):使用組合利用建造的系統(tǒng)會(huì)有較多的對(duì)象需要管理


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 秀山| 义马市| 老河口市| 青铜峡市| 抚州市| 错那县| 开江县| 商丘市| 东至县| 夏河县| 宣武区| 奈曼旗| 奉化市| 常熟市| 汪清县| 山东省| 阜平县| 阿克苏市| 霍城县| 会理县| 苍南县| 九龙城区| 乌拉特前旗| 济宁市| 雷山县| 盘山县| 唐山市| 凯里市| 宽城| 大关县| 中西区| 慈利县| 平舆县| 巢湖市| 丹阳市| 锡林浩特市| 淳化县| 新竹县| 金秀| 迭部县| 从江县|