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

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

分享到微博請遵守國家法律
原阳县| 延川县| 叶城县| 肃北| 云阳县| 安义县| 民和| 迭部县| 涟源市| 米易县| 高阳县| 什邡市| 广元市| 寿光市| 甘洛县| 渭源县| 西城区| 绥阳县| 丹凤县| 南雄市| 林口县| 台东县| 弥渡县| 玉山县| 临邑县| 安远县| 彰化市| 柳河县| 宜丰县| 墨玉县| 泽普县| 衡南县| 阿荣旗| 正蓝旗| 宜宾市| 大宁县| 左云县| 鄂州市| 汝阳县| 杭锦后旗| 二连浩特市|