一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - java面向對象設計原則之開閉原則示例解析

java面向對象設計原則之開閉原則示例解析

2022-02-20 11:32guoyp2126 Java教程

這篇文章主要介紹了java面向對象設計原則之開閉原則的示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

概念

唯一不變的是不斷的變化,在軟件開發中應該對需求的變化持開放態度,我們要做的就是如何將這種變化對我們現有的成果帶來最小的沖擊。開閉原則直接面對面向對象程序的目標擴展性和可維護性,要求對擴展開放,對修改關閉;即在不修改原有代碼的情況下改變模塊的行為。該原則是面向對象程序設計的總原則,也是度量程序設計的好與壞的唯一標準

實現

開閉原則的實現策略主要在面向對象的封裝性和多態性的基礎上,利用面向對象的其他原則完成的。

1.使用多態機制解決問題。

如:遠程監控系統使用數據傳輸使用427版本的協議,一年以后對427版本的協議進行了修正。設計時應該考慮的數據傳輸協議的可變性,抽象出具有報文解譯、編制、校驗等所有版本協議使用的通用方法,調用方針對接口進行編程即可,如上述示例設計類圖如下:

java面向對象設計原則之開閉原則示例解析

調用方依賴于報文接口,報文接口是穩定的,而不針對具體的427協議或427修正協議。利用接口多態技術,實現了開閉原則。除使用接口實現多態外,還可以使用繼承機制重置實現多態來完成,如:某一實現過程包括獲取數據、數據處理、數據存儲,其中獲取數據和存取數據不變,數據處理過程發生變化,則可以在子類中使用重置機制將數據處理方法進行重寫。使用多態技術實現的方式,均不修改原有代碼,只是增加一份新的實現類,完成了開閉原則。

2.降低耦合度, 將變化的代碼降到最低

如:系統界面上按鈕控件為方形按鈕,現在領導要求把所有的按鈕換成圓角按鈕,如何辦?
使用迪米特法則,在使用按鈕控件時,給其包外圍一層,增加一個按鈕包裝類,使得界面與按鈕控件脫耦,修改時只需修改包裝器類即可。其類圖如下:

java面向對象設計原則之開閉原則示例解析

3. 遵循單一職責原則

職責越單一,封裝性越好,“開閉原則”越容易實現。

拓展

1.注意分支語句的使用。分支語句破壞開閉原則,當條件發生變化時,我們不得不修改代碼。解決辦法依然是使用多態機制,每個分支使用不同實現類,來解決問題。
2. 避免過度設計
百分之百的開閉原則很難達到,但要盡量符合開閉原則。在設計時對于將來可能會發生變化的部分實現面向接口的編程,同時對不可能或極小概率發生變化時的應該避免過度設計而造成的復雜性。

以上就是java面向對象設計原則之開閉原則示例解析的詳細內容,更多關于java面向對象設計原則的資料請關注服務器之家其它相關文章!

原文鏈接:https://blog.csdn.net/guoyp2126/article/details/113917562

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 四虎影院永久网址 | a级成人毛片免费图片 | 91精品国产亚一区二区三区 | 草草草在线| 国产精品香蕉一区二区三区 | 亚洲网站大全 | 成人免费影 | 国产香蕉在线视频 | 506070老熟肥妇bbwxx视频 500第一精品 | 国产精品国产精品国产三级普 | 国产aaa毛片 | 5555国产在线观看精品 | 美女张开腿让我了一夜 | 亚洲午夜久久久久久91 | 国产麻豆视频 | 4虎影视国产在线观看精品 4s4s4s4s色大众影视 | 日本中文字幕永久在线 | 精品久久洲久久久久护士免费 | 亚洲入口 | 亚州免费一级毛片 | coolgay男男gayxxx chinese壮直男gay老年人 chinese野外gay军人 | 日本高清在线精品一区二区三区 | 百合漫画咱啪全彩抚慰 | 成人快手破解版 | 99爱免费| 天堂bt在线 | 把美女屁股眼扒开图片 | 草莓视频深夜释放 | 门房秦大爷在线阅读 | 午夜福利合集1000在线 | 香蕉久久高清国产精品免费 | 天天操精品| 国产码一区二区三区 | 欧美亚洲另类综合 | 爱福利视频一区 | 色妞女女女女女bbbb | 91你懂的 | 亚洲春色综合另类网蜜桃 | 精品无人区麻豆乱码1区2 | 亚洲天天综合 | 变态 调教 视频 国产九色 |