伊人99re_av日韩成人_91高潮精品免费porn_色狠狠色婷婷丁香五月_免费看的av_91亚色网站

中培偉業(yè)IT資訊頻道
您現(xiàn)在的位置:首頁 > IT資訊 > 產(chǎn)品設(shè)計(jì) > 設(shè)計(jì)模式的原則有哪些?

設(shè)計(jì)模式的原則有哪些?

2020-07-27 10:03:54 | 來源:中培企業(yè)IT培訓(xùn)網(wǎng)

在編程領(lǐng)域,編程的設(shè)計(jì)原則有很多,但是對(duì)于一些不了解的人來說,他們不知道設(shè)計(jì)模式的原則有哪些?其實(shí)設(shè)計(jì)模式的有六項(xiàng)包括:?jiǎn)我还δ?,依賴性反轉(zhuǎn)原理,Richter替代,接口隔離,迪米特法則以及開閉原則,早起是21世紀(jì)初引入的,指的是對(duì)象的六項(xiàng)基本原理編程,當(dāng)這六項(xiàng)基本原則在一起應(yīng)用時(shí),即可使程序員更有可能開發(fā)易于維護(hù)和擴(kuò)展軟件的系統(tǒng)。

  1、單一職責(zé)原則

單一職責(zé)原則,簡(jiǎn)稱是SRP。簡(jiǎn)單解釋就是,一個(gè)方法盡可能做一件事情,一般來說不應(yīng)該讓一個(gè)方法承擔(dān)多個(gè)職責(zé)。單一職責(zé)原則的定義是:應(yīng)該有且僅有一個(gè)原因引起類的變更。這個(gè)設(shè)計(jì)模式的原則提出了一個(gè)編寫程序的標(biāo)準(zhǔn),用“職責(zé)”或“變化原因”來衡量接口或設(shè)計(jì)是否優(yōu)良,但是“職責(zé)”跟“變化原因”都是不好度量的,要“因地制宜”。單一職責(zé)適用于接口、類,同時(shí)也適用于方法,也就是說,一個(gè)方法盡可能做一件事情,一般來說不應(yīng)該讓一個(gè)方法承擔(dān)多個(gè)職責(zé)。

  2、依賴倒置原則

這一設(shè)計(jì)模式的原則是指細(xì)節(jié)依賴抽象,低層依賴高層。依賴倒置原則的原始定義包含了三層含義:高層模塊不應(yīng)該依賴低層模塊,兩者都應(yīng)該依賴其抽象;抽象不應(yīng)該依賴細(xì)節(jié);細(xì)節(jié)應(yīng)該依賴抽象。這一原則在Java語言中的表現(xiàn)就是:模塊間的依賴通過抽象發(fā)生,實(shí)現(xiàn)類之間不發(fā)生直接的依賴關(guān)系,其依賴關(guān)系是通過接口或抽象類產(chǎn)生的;接口或抽象類不依賴于實(shí)現(xiàn)類;實(shí)現(xiàn)類依賴接口或抽象類。

  3、里氏替換原則

里氏替換原則,即子類應(yīng)該能替換掉它的父類。它為良好的繼承定義了一個(gè)規(guī)范,一句簡(jiǎn)單的定義包含了4層含義:子類必須完全實(shí)現(xiàn)父類的方法;子類可以有自己的個(gè)性;覆蓋或?qū)崿F(xiàn)父類的方法時(shí)輸入?yún)?shù)可以被放大;覆寫或?qū)崿F(xiàn)父類的方法時(shí)輸出結(jié)果可以被縮小。即如果父類的一個(gè)方法的返回值是一個(gè)類型T,子類的相同方法(重載或覆寫)的返回值為S,那么里氏替換原則就要求S必須小于等于T,也就是說,要么S和T是同一個(gè)類型,要么S是T的子類。

  4、接口隔離原則

接口隔離原則講的是,應(yīng)該盡量建立單一接口,不要建立臃腫的接口,接口應(yīng)該盡量細(xì)化。接口分離的手段主要有以下兩種:委托分離,通過增加一個(gè)新的類型來委托客戶的請(qǐng)求,隔離客戶和接口的直接依賴,但會(huì)增加系統(tǒng)開銷;多重繼承分離,通過接口多繼承來實(shí)現(xiàn)客戶需求。

  5、迪米特法則

迪米特法則是指一個(gè)類應(yīng)該對(duì)自己需要耦合或調(diào)用的類知道得最少。迪米特法則又叫最少知道原則,通俗地講,一個(gè)類應(yīng)該對(duì)自己需要耦合或調(diào)用的類知道得最少。一個(gè)類公開的public屬性或方法越多,修改時(shí)涉及的面也就越大,變更引起的風(fēng)險(xiǎn)擴(kuò)散也就越大。在設(shè)計(jì)時(shí)需要反復(fù)衡量,是否可以減少public方法和屬性,是否可以修改為private、package-private、protected等訪問權(quán)限,是否可以加上final關(guān)鍵字等。迪米特法則要求類盡量不要對(duì)外公布太多的public方法和非靜態(tài)的public變量,盡量?jī)?nèi)斂,多使用private、package-private、protected等訪問權(quán)限。

  6、開閉原則

開閉原則要求盡量通過擴(kuò)展軟件實(shí)體的行為來實(shí)現(xiàn)變化,而不是通過修改已有的代碼來完成變化。開閉原則的定義:一個(gè)軟件實(shí)體如類、模塊和函數(shù)應(yīng)該對(duì)擴(kuò)展開放,對(duì)修改關(guān)閉。一個(gè)軟件產(chǎn)品只要在生命期內(nèi),都會(huì)發(fā)生變化,既然變化是一個(gè)既定的事實(shí),我們應(yīng)該在設(shè)計(jì)時(shí)盡量適應(yīng)這些變化,以提高項(xiàng)目的穩(wěn)定性和靈活性。開閉原則要求盡量通過擴(kuò)展軟件實(shí)體的行為來實(shí)現(xiàn)變化,而不是通過修改已有的代碼來完成變化。如何做到開閉原則:抽象、封裝。

以上即是關(guān)于設(shè)計(jì)模式的原則有哪些的全部?jī)?nèi)容介紹,想了解更多關(guān)于產(chǎn)品設(shè)計(jì)的原則,請(qǐng)繼續(xù)關(guān)注中培偉業(yè)。

主站蜘蛛池模板: 浮生影院大全免费观看高清版 | 亚洲AV成人网站在线观看 | h七七www色午夜日本 | 国产伦精品免费视频 | 日日摸日日碰夜夜爽无码 | aaaa大片| 张娜英1v4财阀 | 成人福利视频网站 | av中文在线观看 | 免费看免费看A级长片 | 99热久久免费频精品18 | 免费的av网站在线观看 | 宅男噜噜噜66国产在线观看 | 99国产热 | 国产精品专区在线观看 | a级大片在线观看 | 一区二区三区视频在线播放 | 向前生活第2季免费观看 | 午夜熟女插插XX免费视频 | 男人和女人做爽爽免费视频 | 久久久人精午夜精国 | 成年人视频在线网站 | 久久产精品一区二区三区污欧美 | A片粗大的内捧猛烈进出AVV | 久久中文字幕AV不卡一区二区 | 久久中文高清 | 91九色国产ts另类人妖 | 精品国产乱码一区二区三区四区 | 99永久AⅤ免费视频 免费观看欧美成人 | 国产精品永久久久久久久www | 欧美一二区视频 | 无码吃奶揉捏奶头高潮视频 | 国产日产欧美在线观看 | 1769免费视频在线观看 | 做爰丰满少妇1313 | 亚洲成A人片在线观看无码3D | 亚洲国产精品无码专区影院 | 国产亚洲精品一区二555 | 欧美一a一片一级一片 | 国内自拍视频在线 | 可以看av的网站 |