真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

關(guān)于Java面向?qū)ο蟪绦蛟O(shè)計原則之一——開閉原則的思考與分享-創(chuàng)新互聯(lián)

整理日期:2022-05-27

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名與空間、虛擬主機(jī)、營銷軟件、網(wǎng)站建設(shè)、孫吳網(wǎng)站維護(hù)、網(wǎng)站推廣。

目錄

一.開閉原則

二.為什么使用開閉原則

三.如何在程序設(shè)計中體現(xiàn)開閉原則


一.開閉原則

開閉原則(Open-Closed Principle, OCP)是指一個軟件實(shí)體如類、模塊和函數(shù)應(yīng)該對擴(kuò)展開放, 對修改關(guān)閉。所謂的開閉,也正是對擴(kuò)展和修改兩個行為的一個原則。強(qiáng)調(diào)的是用抽象構(gòu)建框架,用實(shí)現(xiàn)擴(kuò)展細(xì)節(jié)??梢蕴岣哕浖到y(tǒng)的可復(fù)用性及可維護(hù)性。開閉原則,是面向?qū)ο笤O(shè)計中最基礎(chǔ)的設(shè)計原 則。它指導(dǎo)我們?nèi)绾谓⒎€(wěn)定靈活的系統(tǒng),例如:我們版本更新,我盡可能不修改源代碼,但是可以增 加新功能。

二.為什么使用開閉原則

1.開閉原則非常有名,只要是面向?qū)ο缶幊?,在開發(fā)時都會強(qiáng)調(diào)開閉原則

2.開閉原則是最基礎(chǔ)的設(shè)計原則,其它的五個設(shè)計原則都是開閉原則的具體形態(tài),也就是說其它的五個設(shè)計原則是指導(dǎo)設(shè)計的工具和方法,而開閉原則才是其精神領(lǐng)袖。

3.開閉原則可以提高復(fù)用性

在面向?qū)ο蟮脑O(shè)計中,所有的邏輯都是從原子邏輯組合而來,不是在一個類中獨(dú)立實(shí)現(xiàn)一個業(yè)務(wù)邏輯。只有這樣的代碼才可以復(fù)用,粒度越小,被復(fù)用的可能性越大。那為什么要復(fù)用呢?減少代碼的重復(fù),避免相同的邏輯分散在多個角落,減少維護(hù)人員的工作量。那怎么才能提高復(fù)用率呢?縮小邏輯粒度,直到一個邏輯不可以分為止。

4.開閉原則可以提高維護(hù)性、擴(kuò)展性

一個程序、一款軟件量產(chǎn)后,維護(hù)人員的工作不僅僅對數(shù)據(jù)進(jìn)行維護(hù),還可能要對程序進(jìn)行擴(kuò)展,維護(hù)人員最樂意的事是擴(kuò)展一個類,而不是修改一個類。讓維護(hù)人員讀懂原有代碼,再進(jìn)行修改,是一件非常痛苦的事情,不要讓他在原有的代碼海洋中游蕩后再修改,那是對維護(hù)人員的折磨和摧殘。

5.面向?qū)ο箝_發(fā)的要求

萬物皆對象,我們要把所有的事物抽象成對象,然后針對對象進(jìn)行操作,但是萬物皆發(fā)展變化,有變化就要有策略去應(yīng)對,怎么快速應(yīng)對呢?這就需要在設(shè)計之初考慮到所有可能變化的因素,然后留下接口,等待“可能”轉(zhuǎn)變?yōu)椤艾F(xiàn)實(shí)”。

三.如何在程序設(shè)計中體現(xiàn)開閉原則

以學(xué)生信息管理系統(tǒng)為例。在運(yùn)用多態(tài)改進(jìn)代碼時,此時的對擴(kuò)展開放:如增加一個新的學(xué)生類型,比如小學(xué)生、中學(xué)生。我們只需要另外設(shè)計出小學(xué)生類、中學(xué)生類,使這兩個類繼承學(xué)生類,并重寫學(xué)生類中的抽象方法;對修改關(guān)閉:關(guān)閉的是對抽象的學(xué)生類的改變,當(dāng)然如果另外設(shè)計了某些功能接口的話,對接口的修改也是關(guān)閉的。從整體上看,增加或修改的模塊對其他部分代碼并沒有很大的影響,即其他部分代碼不需要做出較多的改動。這也是代碼易擴(kuò)展、易維護(hù)的重要體現(xiàn)。

當(dāng)未使用多態(tài)時,地址類的設(shè)計同樣可以體現(xiàn)開閉原則,因?yàn)榈刂奉愖鳛橐粋€相對獨(dú)立的類,還可以復(fù)用在其他地方得到擴(kuò)展,此時對地址類的具體細(xì)節(jié)的修改是關(guān)閉的。

其實(shí)這樣的編程思想可以很好的運(yùn)用在面向?qū)ο蟪绦蛟O(shè)計的完成上(個人理解),如可以設(shè)計一個問卷調(diào)查、測評系統(tǒng),又或是一個常規(guī)的管理系統(tǒng)。對擴(kuò)展開放(可擴(kuò)展部分):可以增加問卷調(diào)查的類型、問卷調(diào)查的對象或管理系統(tǒng)的操作對象。對修改關(guān)閉(核心部分):關(guān)閉對抽象類的修改、對功能接口的修改等。這樣也能很好的提高代碼的可擴(kuò)展性及可維護(hù)性。

分享結(jié)束,感謝閱讀!

水平有限,懇請指教~

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧


分享標(biāo)題:關(guān)于Java面向?qū)ο蟪绦蛟O(shè)計原則之一——開閉原則的思考與分享-創(chuàng)新互聯(lián)
URL網(wǎng)址:http://weahome.cn/article/ddigic.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部