首頁技術(shù)文章正文

java開閉原則分析:什么是開閉原則?

更新時(shí)間:2021-08-19 來源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

在軟件開發(fā)中,為了提高軟件系統(tǒng)的可維護(hù)性和可復(fù)用性,增加軟件的可擴(kuò)展性和靈活性,程序員要盡量根據(jù)6條原則來開發(fā)程序,從而提高軟件開發(fā)效率、節(jié)約軟件開發(fā)成本和維護(hù)成本。這六條分別是開閉原則、里氏代換原則、依賴倒轉(zhuǎn)原則、接口隔離原則、迪米特法則、合成復(fù)用原則,下面主要介紹開閉原則


什么是開閉原則?

開閉原則指對(duì)擴(kuò)展開放,對(duì)修改關(guān)閉。在程序需要進(jìn)行拓展的時(shí)候,不能去修改原有的代碼,實(shí)現(xiàn)一個(gè)熱插拔的效果。簡(jiǎn)言之,是為了使程序的擴(kuò)展性好,易于維護(hù)和升級(jí)。

想要達(dá)到這樣的效果,我們需要使用接口和抽象類。

因?yàn)槌橄箪`活性好,適應(yīng)性廣,只要抽象的合理,可以基本保持軟件架構(gòu)的穩(wěn)定。而軟件中易變的細(xì)節(jié)可以從抽象派生來的實(shí)現(xiàn)類來進(jìn)行擴(kuò)展,當(dāng)軟件需要發(fā)生變化時(shí),只需要根據(jù)需求重新派生一個(gè)實(shí)現(xiàn)類來擴(kuò)展就可以了。

下面以搜狗輸入法的皮膚為例介紹開閉原則的應(yīng)用。

【例】搜狗輸入法 的皮膚設(shè)計(jì)。

分析:搜狗輸入法的皮膚是輸入法背景圖片、窗口顏色和聲音等元素的組合。用戶可以根據(jù)自己的喜愛更換自己的輸入法的皮膚,也可以從網(wǎng)上下載新的皮膚。這些皮膚有共同的特點(diǎn),可以為其定義一個(gè)抽象類(AbstractSkin),而每個(gè)具體的皮膚(DefaultSpecificSkin和HeimaSpecificSkin)是其子類。用戶窗體可以根據(jù)需要選擇或者增加新的主題,而不需要修改原代碼,所以它是滿足開閉原則的。

軟件測(cè)試原則之開閉原則



猜你喜歡:

MySQL和Oracle的區(qū)別

CentOS 下安裝oracle數(shù)據(jù)庫圖文教程

Java swing是什么?有什么作用?

Java集合的分類有哪些?

黑馬程序員java開發(fā)培訓(xùn)課程

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!