国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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開閉原則的評論 (共 條)

分享到微博請遵守國家法律
镇坪县| 吉林省| 昭平县| 洛宁县| 登封市| 施甸县| 西宁市| 连平县| 米脂县| 米林县| 常山县| 宁德市| 色达县| 正定县| 水富县| 屯门区| 浏阳市| 邢台县| 龙川县| 连州市| 抚松县| 彭山县| 随州市| 栾川县| 上杭县| 合作市| 辰溪县| 尚志市| 碌曲县| 龙陵县| 津南区| 邓州市| 南安市| 高青县| 高淳县| 唐河县| 潜山县| 苏尼特右旗| 桃源县| 大厂| 巴林右旗|