多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全I(xiàn)T社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > php開源 > 綜合技術(shù) > 面向?qū)ο缶幊痰牧笤瓌t

面向?qū)ο缶幊痰牧笤瓌t

來源:程序員人生   發(fā)布時間:2015-02-13 09:00:18 閱讀次數(shù):3261次


參考文章:

http://blog.csdn.net/coolingcoding/article/details/8043265

http://www.cnblogs.com/loulijun/archive/2012/03/05/2380524.html

 

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

全稱:“Single-Responsibility Principle”

說明:就1個類而言,應(yīng)當(dāng)只專注于做1件事和唯一1個引發(fā)它變化的緣由。所謂職責(zé),我們可以理解他為功能,就是設(shè)計的這個類功能應(yīng)當(dāng)只有1個,而不是兩個或更多。也能夠理解為援用變化的緣由,當(dāng)你發(fā)現(xiàn)有兩個變化會要求我們修改這個類,那末你就要斟酌撤分這個類了。由于職責(zé)是變化的1個軸線,當(dāng)需求變化時,該變化會反應(yīng)類的職責(zé)的變化。

使用SRP注意點

1、1個公道的類,應(yīng)當(dāng)唯一1個引發(fā)它變化的緣由,即單1職責(zé);

2、在沒有變化征象的情況下利用SRP或其他原則是不明智的;

3、在需求實際產(chǎn)生變化時就應(yīng)當(dāng)利用SRP等原則來重構(gòu)代碼;

4、使用測試驅(qū)動開發(fā)會迫使我們在設(shè)計出現(xiàn)臭味之前分離不公道代碼;

5、如果測試不能迫使職責(zé)分離,僵化性和脆弱性的臭味會變得很強烈,那就應(yīng)當(dāng)用Facade或Proxy模式對代碼重構(gòu);SRP優(yōu)點:消除耦合,減小因需求變化引發(fā)代碼僵化。

2、里氏代換原則

全稱:“Liskov Substitution Principle”

說明子類型必須能夠替換它們的基類型。1個軟件實體如果使用的是1個基類,那末當(dāng)把這個基類替換成繼承該基類的子類,程序的行動不會產(chǎn)生任何變化。軟件實體發(fā)覺不出基類對象和子類對象的區(qū)分。

優(yōu)點:可以很容易的實現(xiàn)同1父類下各個子類的互換,而客戶端可以絕不發(fā)覺。

3、依賴顛倒原則

全稱:“Dependence Inversion Principle”

說明

1、高層模塊不應(yīng)當(dāng)依賴低層模塊,二者都應(yīng)當(dāng)依賴于抽象(抽象類或接口)

2、抽象(抽象類或接口)不應(yīng)當(dāng)依賴于細(xì)節(jié)(具體實現(xiàn)類)

3、細(xì)節(jié)(具體實現(xiàn)類)應(yīng)當(dāng)依賴抽象

抽象:即抽象類或接口,二者是不能夠?qū)嵗?/span>

細(xì)節(jié):即具體的實現(xiàn)類,實現(xiàn)接口或繼承抽象類所產(chǎn)生的類,二者可以通過關(guān)鍵字new直接被實例化

而依賴顛倒原則的本質(zhì)騎士就是通過抽象(抽象類或接口)使各個類或模塊的實現(xiàn)彼此獨立,不相互影響,實現(xiàn)模塊間的松耦合。但是這個原則也是6個設(shè)計原則中最難以實現(xiàn)的了,如果沒有實現(xiàn)這個原則,那末也就意味著開閉原則(對擴(kuò)大開發(fā),對修改關(guān)閉)也沒法實現(xiàn)。

4、接口隔離原則

全稱:“Interface Segregation Principle”

說明使用多個專1功能的接口比使用1個的總接口總要好。從1個客戶類的角度來說:1個類對另外1個類的依賴性應(yīng)當(dāng)是建立在最小接口上的。過于臃腫的接口是對接口的污染,不應(yīng)當(dāng)逼迫客戶依賴于它們不用的方法。

優(yōu)點:會使1個軟件系統(tǒng)功能擴(kuò)大時,修改的壓力不會傳到別的對象那里。

如何實現(xiàn)接口隔離原則

不應(yīng)當(dāng)逼迫用戶依賴于他們不用的方法。

1、利用拜托分離接口。

2、利用多繼承分離接口。

5、迪米特原則

全稱:“Law of Demeter”

說明對象與對象之間應(yīng)當(dāng)使用盡量少的方法來關(guān)聯(lián),避免千絲萬縷的關(guān)系。

如何實現(xiàn)迪米特法則?

迪米特法則的主要意圖是控制信息的過載,在將其應(yīng)用到系統(tǒng)設(shè)計中應(yīng)注意以下幾點:

1) 在類的劃分上,應(yīng)當(dāng)創(chuàng)建有弱耦合的類。類之間的耦合越弱,就越有益于復(fù)用。

2) 在類的結(jié)構(gòu)設(shè)計上,每個類都應(yīng)當(dāng)盡可能下降成員的訪問權(quán)限。1個類不應(yīng)當(dāng)public自己的屬性,而應(yīng)當(dāng)提供取值和賦值的方法讓外界間接訪問自己的屬性。

3) 在類的設(shè)計上,只要有可能,1個類應(yīng)當(dāng)設(shè)計成不變類。

4) 在對其它對象的援用上,1個類對其它對象的援用應(yīng)當(dāng)降到最低。

6、開放-封閉原則

全稱:“Open-Closed Principle”

說明所謂開放封閉原則就是軟件實體應(yīng)當(dāng)對擴(kuò)大開發(fā),而對修改封閉。開放封閉原則是所有面向?qū)ο笤瓌t的核心。軟件設(shè)計本身所尋求的目標(biāo)就是封裝變化,下降耦合,而開放封閉原則正是對這1目標(biāo)的最直接體現(xiàn)。

   開放封閉原則主要體現(xiàn)在兩個方面:

   對擴(kuò)大開放,意味著有新的需求或變化時,可以對現(xiàn)有代碼進(jìn)行擴(kuò)大,以適應(yīng)新的情況。

   對修改封閉,意味著類1旦設(shè)計完成,就能夠獨立其工作,而不要對類盡任何修改。

為何要用到開放封閉原則呢?

軟件需求總是變化的,世界上沒有1個軟件的是不變的,因此對軟件設(shè)計人員來講,必須在不需要對原有系統(tǒng)進(jìn)行修改的情況下,實現(xiàn)靈活的系統(tǒng)擴(kuò)大。

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 中国日本高清免费视频网 | 福利片一区 | 国产亚洲网站 | 日本一级毛片视频无遮挡免费 | 一区二区三区在线观看视频 | 中文字幕乱码中文乱码51精品 | 国产激情一区二区三区 | 伊人久久精品成人网 | aa级国产女人毛片好多水 | 亚洲一区2区三区4区5区 | 欧美日韩三 | 国产精品视频久久久久 | 欧美亚洲国产精品久久第一页 | 亚洲图片一区 | 欧美成人h版影院在线播放 欧美成人h版在线观看 | 韩国午夜理伦三级2020豆豌 | 97影院午夜在线观看琪琪 | 亚洲免费毛片 | 麻豆精品不卡国产免费看 | 国产欧美精品一区二区三区四区 | 男女视频网站在线观看 | 1000部精品久久久久久久久 | 国产亚洲欧洲国产综合一区 | 国内自拍亚洲 | 欧美18videosex性欧美乱任 | 福利视频欧美一区二区三区 | xxxxx做受大片视频 | 国产精品三级视频 | 毛片在线播放观看日本 | 久久免费久久 | 欧美一级二级毛片视频 | 免费一级做a爰片性色毛片 免费一看一级毛片 | 一本到视频在线 | 最新激情网址 | 亚洲欧美色一区二区三区 | 午夜影院免费体验 | 在线免费h视频 | 亚洲国产日韩欧美高清片a 亚洲国产日韩欧美一区二区三区 | 国产精品日韩欧美久久综合 | 日本久久综合视频 | 欧美金妇欧美乱妇xxxx |