大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 面向對象七大設計原則詳解

面向對象七大設計原則詳解

更新時間:2020-08-11 11:07:20 來源:動力節點 瀏覽2009次

面向對象七大設計原則有哪些呢?下面就由動力節點java培訓機構的小編來告訴大家。

面向對象七大設計原則

1、 開閉原則

2、 里氏替換原則

3、 單一職責原則

4、 接口隔離原則

5、 依賴倒置原則

6、 迪米特原則

7、組合/聚合復用原則

知識點關聯

學習面向對象的設計模式,是深入面向對象思想的鑰匙。通過大師級的微妙案例。我們能夠開闊自己的認知。

在學習面向對象設計七大原則之前,我們要對主要的封裝、繼承、多態思想有足夠的了解。對抽象類和接口也要有足夠的編碼能力,由于設計模式是以上知識點的綜合應用。

另外。在接觸詳細的設計模式之前,面向對象的七大設計原則會讓你知道,設計模式出現的必定性和意義所在。

1、 每一種設計思想的精準含義,詳細例如以下:

先從總體認識這七種設計思想。

一、開閉原則:

這一條放在第一位來理解,它的含義是對擴展開放,對改動關閉。

解釋一下就是,我們寫完的代碼,不能由于需求變化就改動。我們能夠通過新增代碼的方式來解決變化的需求。

當然,這是一種理想的狀態,在現實中。我們要盡量的縮小這樣的改動。

再解釋一下這條原則的意義所在,我們採用逆向思維方式來想。假設每次需求變動都去改動原有的代碼,那原有的代碼就存在被改動錯誤的風險。當然這當中存在有意和無意的改動。都會導致原有正常執行的功能失效的風險,這樣非常有可能會展開可怕的蝴蝶效應。使維護工作劇增。

說究竟,開閉原則除了表面上的可擴展性強以外。在企業中更看重的是維護成本。

所以,開閉原則是設計模式的第一大原則,它的潛臺詞是:控制需求變動風險。縮小維護成本。

下面幾種原則,都是為此原則服務的。

二、里氏替換選擇:

此原則的含義是子類能夠在不論什么地方替換它的父類。解釋一下。這是多態的前提,我們后面非常多所謂的靈活,都是不改變聲明類型的情況下,改變實例化類來完畢的需求變更。

當然,繼承的特性看似天然就滿足這個條件。

但這里更注重的是繼承的應用問題。我們必須保證我們的子類和父類劃分是精準的。

里氏替換原則的潛臺詞是:盡量使用精準的抽象類或者接口。

三、單一職責原則:

單一職責的含義是:類的職責單一,引起類變化的原因單一。解釋一下。這也是靈活的前提,假設我們把類拆分成最小的職能單位,那組合與復用就簡單的多了,假設一個類做的事情太多。在組合的時候,必定會產生不必要的方法出現。這實際上是一種污染。

舉個樣例。我們在繪制圖案的時候,用“點”組成圖和用“直線”組成圖,哪個更靈活呢?一定是“點”,它能夠繪制不論什么圖形,而直線僅僅能繪制帶有直線條的圖案。它起碼無法畫圓。

單一職責的潛臺詞是:拆分到最小單位,解決復用和組合問題。

四、接口隔離原則:

接口隔離原則能夠說是單一職責的必要手段。它的含義是盡量使用職能單一的接口。而不使用職能復雜、全面的接口。

非常好理解,接口是為了讓子類實現的,假設子類想達到職能單一。那么接口也必須滿足職能單一。

相反,假設接口融合了多個不相關的方法,那它的子類就被迫要實現全部方法,雖然有些方法是根本用不到的。

這就是接口污染。

接口隔離原則的潛臺詞是:拆分,從接口開始。

五、依賴倒置原則:

想要理解依賴倒置原則。必須先理解傳統的解決方式。面相對象的初期的程序,被調用者依賴于調用者。也就是調用者決定被調用者有什么方法,有什么樣的實現方式,這樣的結構在需求變更的時候,會付出非常大的代價,甚至推翻重寫。

依賴倒置原則就是要求調用者和被調用者都依賴抽象,這樣兩者沒有直接的關聯和接觸。在變動的時候,一方的變動不會影響還有一方的變動。

事實上。依賴倒置和前面的原則是相輔相成的,都強調了抽象的重要性。

依賴倒置的潛臺詞是:面向抽象編程。解耦調用和被調用者。

六、迪米特原則:

迪米特原則要求盡量的封裝,盡量的獨立,盡量的使用低級別的訪問修飾符。這是封裝特性的典型體現。

一個類假設暴露太多私用的方法和字段,會讓調用者非常茫然。而且會給類造成不必要的推斷代碼。所以,我們使用盡量低的訪問修飾符。讓外界不知道我們的內部。這也是面向對象的基本思路。這是迪米特原則的一個特性,無法了解類很多其它的私有信息。

另外,迪米特原則要求類之間的直接聯系盡量的少。兩個類的訪問。通過第三個中介類來實現。

迪米特原則的潛臺詞是:不和陌生人說話,有事去中介。

七、組合/聚合復用原則:

此原則的含義是。假設僅僅是達到代碼復用的目的。盡量使用組合與聚合。而不是繼承。

這里須要解釋一下,組合聚合僅僅是引用其它的類的方法。而不會受引用的類的繼承而改變血統。

繼承的耦合性更大,比方一個父類后來加入實現一個接口或者去掉一個接口,那子類可能會遭到毀滅性的編譯錯誤。但假設僅僅是組合聚合,僅僅是引用類的方法,就不會有這樣的巨大的風險。同一時候也實現了復用。

組合聚合復用原則的潛臺詞是:我僅僅是用你的方法,我們不一定是同類。

面向對象七大設計原則詳解

以上就是動力節點java培訓機構的小編針對“面向對象七大設計原則詳解”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: a级毛片在线视频免费观看 a级免费网站 | 岛国精品在线 | 亚洲一级毛片免费在线观看 | 一级毛片特级毛片免费的 | 亚洲免费观看 | 99久久99久久精品免费看子伦 | 久久天天躁狠狠躁夜夜躁 | 亚洲视频一区二区三区四区 | 欧美日韩在大午夜爽爽影院 | 精品国产乱码一区二区三区麻豆 | 美女精品久久久久久国产潘金莲 | 一级a爱片久久毛片 | 一区二区三区在线播放视频 | 欧美一级黄色录像 | 国产一区二区在线视频观看 | 国产精品国产自线拍手机观看 | 免费欧美一级片 | 99高清免费国产自产拍 | 天天视频免费入口 | 免费观看成人久久网免费观看 | 日本一级毛一级毛片短视频 | 福利视频网页 | 中国第一毛片 | 毛片女人毛片一级毛片毛片 | 九九视频在线免费观看 | 久久精品综合免费观看 | 视频国产91 | 国产男女爽爽爽免费视频 | 亚洲日本在线播放 | 欧美在线一区二区三区精品 | 五月天综合久久 | 久久精品女人天堂 | 国产成人精品免费视频大全五级 | 四虎影视www四虎免费 | 日本涩涩网站 | 亚洲视频在线观看一区 | 综合激情五月婷婷 | 欧美在线观看一区 | 一级黄色毛片免费看 | 欧美一级久久久久久久久大 | 国产一区欧美二区 |