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

國內(nèi)最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > php框架 > 框架設(shè)計 > 【設(shè)計模式】對六大原則的宏觀把控和微觀細(xì)化

【設(shè)計模式】對六大原則的宏觀把控和微觀細(xì)化

來源:程序員人生   發(fā)布時間:2015-01-29 08:15:38 閱讀次數(shù):4393次

     1天之前,終究將設(shè)計模式的第2遍看完了。。在這兩遍中,我又學(xué)到了很多知識。在之前看OOTV設(shè)計大賽時,總是提到面向?qū)ο笤O(shè)計的原則,這讓我不明所以,直到看完全本書以后,才知道書中自有黃金屋。。這篇文章主要寫的就是面向?qū)ο笤O(shè)計的6大原則。



     根據(jù)上圖,我們可以輕松地得出,面向?qū)ο笤O(shè)計是以高內(nèi)聚、低耦合為設(shè)計核心,抽象為基礎(chǔ),封裝、繼承和多態(tài)為特點。綜合面向?qū)ο蟮脑瓌t、基礎(chǔ)和特點,我們總結(jié)出了它的6大原則。通過這6大原則,我們還可以演變出多種設(shè)計模式。。下面就寫1下我對這6大原則的理解。。


     依賴倒轉(zhuǎn)

     是面向?qū)ο蟮臉?biāo)志!用哪一種語言來編寫程序不重要,重要的是程序中的依賴關(guān)系都是終止于抽象類或接口,這就是面向?qū)ο蟮脑O(shè)計。

     定義

     1、 高層模塊不應(yīng)當(dāng)依賴低層模塊,兩個都應(yīng)當(dāng)依賴抽象

     2、 抽象不應(yīng)當(dāng)依賴細(xì)節(jié),細(xì)節(jié)應(yīng)當(dāng)依賴抽象


     單1職責(zé)

     如果1個類承當(dāng)過量的職責(zé),就等于把這些職責(zé)耦合在1起。1個職責(zé)的變化可能會削弱或抑制這個類完成其他職責(zé)的能力。所以,軟件設(shè)計真正要做的,就是發(fā)現(xiàn)職責(zé)并把那些職責(zé)相互分離。

     定義

     就1個類而言,應(yīng)當(dāng)唯一1個引發(fā)它變化的緣由


     迪米特

     這個原則的條件是在類的結(jié)構(gòu)設(shè)計上,每個類都應(yīng)當(dāng)盡可能下降成員的訪問權(quán)限。其根本思想,是強調(diào)類之間的弱耦合。類之間的耦合越弱,越有益于復(fù)用,1個處在弱耦合的類被修改,不會對有關(guān)系的類造成較大波及。

     定義

     1、如果兩個類沒必要彼此直接通訊,那末這兩個類就不應(yīng)當(dāng)產(chǎn)生直接的相互作用

     2、如果其中1個類需要調(diào)用另外一個類的某1個方法,可以通過第3者轉(zhuǎn)發(fā)這個調(diào)用。


     合成/聚合復(fù)用

     它的優(yōu)點是,有助于保持每一個類被封裝,并被集中在單個任務(wù)上。這樣1來,就會下降繼承所帶來的強耦合,使程序不太可能增長為不可控制的龐然大物。

     定義

     盡可能使用合成/聚合,盡可能不要使用類繼承


     里氏代換

     如果1個軟件的實體使用的是1個父類的話,那末就1定適用于其子類,并且,發(fā)覺不出父類和子類對象的區(qū)分。更直白的說,就是在軟件里面,把父類都替換成它的子類,程序的行動沒有變化。

     定義

     子類型必須能夠替換掉他們的父類型。

     正是由于有了里氏代換原則,才使得下面的開放封閉成為可能。由于子類的可替換性才使得父類的模塊在無需修改的情況下可以擴大。

 

     開放封閉

     不管模塊是多么的“封閉”,都會存在1些沒法對之封閉的變化。既然不可能完全封閉,設(shè)計人員就必須先猜想出最有可能產(chǎn)生的變化,然后構(gòu)造抽象來隔離那些變化。

     開放封閉原則是面向?qū)ο笤O(shè)計的重點所在。開發(fā)人員應(yīng)當(dāng)僅對程序中,顯現(xiàn)出頻繁變化的那些部份做出抽象。

     定義

     面對需求的更新,對程序的改動是通過增加新代碼進行的,而不是更改現(xiàn)有的代碼。


     小結(jié)

     6大設(shè)計原則是面向?qū)ο蠹夹g(shù)的演變,可以理解為是對面向?qū)ο蟮睦^承。通過結(jié)合這6大原則,我們再對23種設(shè)計模式進行理解,那就事半功倍了。這又是米老師的思想,宏觀把控,微觀細(xì)化。米老師真是無處不在呀。。

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 亚洲精国产一区二区三区 | 国产一区二区三区免费播放 | 亚洲 欧美 都市 自拍 在线 | 国产成人黄网址在线视频 | 亚洲国产欧美国产第一区二区三区 | 偷拍自拍校园春色 | 久久精品高清 | 永久在线毛片免费观看 | 久久优| 国产高清一区二区三区 | 亚洲小说区图片区 | 欧美e片成 人 在线播放乱妇 | 99久久精品男女性高爱 | 网站在线免费观看 | 国产精品亚洲二区在线 | 中文有码在线观看 | 色婷婷91| 美xxxx| 国产91一区二区在线播放不卡 | 亚洲免费观看网站 | 亚洲欧洲久久 | 欧美xxxhd18| 国产免费69成人精品视频 | 欧美性猛交xxxx乱大交 | 亚洲无线乱码高清在线观看一区 | 一本一道久久综合狠狠老 | 中文字幕15页 | 国产精品第一区第27页 | 欧美亚洲欧美区 | 伊人剧场| 日韩最新视频一区二区三 | 秋霞午夜鲁丝片午夜精品久 | 久久精品综合一区二区三区 | 欧美xxxx成人免费网站 | 成人6969www色 | 亚洲wu码| 伊人免费在线观看 | 波多野结衣免费在线视频 | 午夜影院免费观看 | 亚洲 在线播放 | 亚洲免费黄色片 |