全國(guó)咨詢(xún)/投訴熱線:400-618-4000

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

java開(kāi)閉原則分析:什么是開(kāi)閉原則?

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

IT培訓(xùn)班

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


什么是開(kāi)閉原則?

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

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

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

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

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

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

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



猜你喜歡:

MySQL和Oracle的區(qū)別

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

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

Java集合的分類(lèi)有哪些?

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

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