最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

2.7開閉原則

2022-02-08 13:25 作者:取悅疾風(fēng)  | 我要投稿

內(nèi)容來自尚硅谷Java設(shè)計(jì)模式(圖解+框架源碼剖析)_嗶哩嗶哩_bilibili

寫在前面:本文內(nèi)容大致和原視頻內(nèi)老師的筆記內(nèi)容相同,會(huì)偶爾插入自己的注釋和理解,盡量會(huì)完成作業(yè)

這集簡單

2.7開閉原則

2.7.1基本概念

1)????? 開閉原則(Open Closed Principle)是編程中最基礎(chǔ)、最重要的設(shè)計(jì)原則

2)????? 一個(gè)軟件實(shí)體如類,模塊和函數(shù)應(yīng)該對擴(kuò)展開放(對提供方),對修改關(guān)閉(對使用方)。用抽象構(gòu)建框架,用實(shí)現(xiàn)擴(kuò)展細(xì)節(jié)。

個(gè)人理解對拓展開放就是說要提高可維護(hù)性,要便于增加功能,避免在增加功能的時(shí)候,修改了已有的代碼,因?yàn)橛锌赡軐?dǎo)致正在調(diào)用這個(gè)方法的某個(gè)程序出bug,對修改關(guān)閉就是說盡量減少對客戶端的代碼的修改,客戶端僅僅用最簡單的調(diào)用方法即可

3)????? 當(dāng)軟件需要變化時(shí),盡量通過擴(kuò)展軟件實(shí)體的行為來實(shí)現(xiàn)變化,而不是通過修改已有的代碼來實(shí)現(xiàn)變化。

4)????? 編程中遵循其它原則,以及使用設(shè)計(jì)模式的目的就是遵循開閉原則。

2.7.2看下面一段代碼

看一個(gè)畫圖形的功能。

類圖設(shè)計(jì),如下:

代碼演示

2.7.3方式1的優(yōu)缺點(diǎn)

1)????? 優(yōu)點(diǎn)是比較好理解,簡單易操作。

2)????? 缺點(diǎn)是違反了設(shè)計(jì)模式的ocp原則,即對擴(kuò)展開放(提供方),對修改關(guān)閉(使用方)。即當(dāng)我們給類增加新功能的時(shí)候,盡量不修改代碼,或者盡可能少修改代碼.

3)????? 比如我們這時(shí)要新增加一個(gè)圖形種類三角形,我們需要做如下修改,修改的地方較多

2.7.4改進(jìn)的思路分析

思路:把創(chuàng)建Shape類做成抽象類,并提供一個(gè)抽象的draw方法,讓子類去實(shí)現(xiàn)即可,這樣我們有新的圖形種類時(shí),只需要讓新的圖形類繼承Shape,并實(shí)現(xiàn) draw方法即可,使用方的代碼就不需要修改,滿足了開閉原則

改進(jìn)后的代碼


2.7開閉原則的評論 (共 條)

分享到微博請遵守國家法律
汤阴县| 横峰县| 临城县| 沭阳县| 汉川市| 若尔盖县| 广德县| 金川县| 霞浦县| 普兰店市| 石嘴山市| 东乡| 佛山市| 凌海市| 镇康县| 新建县| 专栏| 会同县| 乌兰浩特市| 诸城市| 古交市| 红安县| 娱乐| 济宁市| 平度市| 阿合奇县| 象山县| 台中县| 鲜城| 巴林右旗| 阿图什市| 察哈| 郎溪县| 合江县| 江油市| 华安县| 肃宁县| 达拉特旗| 遵义市| 林周县| 武威市|