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

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

設(shè)計(jì)模式(3)設(shè)計(jì)模式的基本原則(上)封裝變化的內(nèi)容、面向接口編程、多用組合

2023-08-10 00:53 作者:zzk13180  | 我要投稿

## 設(shè)計(jì)模式的基本原則(上)


總體來說設(shè)計(jì)模式是為了讓我們的代碼更加可讀、可擴(kuò)展、可復(fù)用、易于理解和維護(hù)。


設(shè)計(jì)模式的基本原則主要包括以下幾點(diǎn):


1. **封裝變化的內(nèi)容**


封裝是面向?qū)ο缶幊痰幕咎匦裕梢詫?duì)象的內(nèi)部狀態(tài)和行為隱藏起來,只暴露抽象的接口供外部使用。


封裝變化的內(nèi)容指的是將可能變化的內(nèi)容封裝起來。


未來內(nèi)容變化時(shí)只需要修改被封裝的部分,無需修改調(diào)用這個(gè)被封裝的接口的代碼。


從而將變更造成的影響最小化,提高代碼的可擴(kuò)展性和可維護(hù)性。


2. **面向接口編程而不是面向?qū)崿F(xiàn)編程**


對(duì)象和對(duì)象之間通過接口進(jìn)行交互,而不是直接調(diào)用對(duì)象的具體實(shí)現(xiàn)。


調(diào)用者不必關(guān)心被調(diào)用者的具體實(shí)現(xiàn),只需要針對(duì)被調(diào)用者接口實(shí)現(xiàn)自己的邏輯。


這樣被調(diào)用者可以遵循封裝變化的內(nèi)容原則,隨時(shí)修改自己的實(shí)現(xiàn),而不會(huì)影響調(diào)用者的代碼。


而且因?yàn)榻涌谑浅橄蟮模哉{(diào)用者可以更加靈活地使用不同的實(shí)現(xiàn)。


例如,通過多態(tài)的方式,調(diào)用者可以在運(yùn)行時(shí)動(dòng)態(tài)地選擇不同的實(shí)現(xiàn)。


3. **多用組合,少用繼承**


繼承是面向?qū)ο缶幊痰幕咎匦?,它可以讓子類繼承父類的屬性和方法。


繼承有其適用的場(chǎng)景和優(yōu)點(diǎn),例如代碼的復(fù)用、多態(tài)性和抽象等方面。


但在設(shè)計(jì)和使用繼承時(shí),需要權(quán)衡其優(yōu)點(diǎn)和缺點(diǎn),并根據(jù)具體情況選擇合適的設(shè)計(jì)原則和模式。


繼承的缺點(diǎn):


- 繼承會(huì)繼承父類的所有屬性和方法,包括一些不需要的內(nèi)容。


- 繼承會(huì)破壞封裝,子類可以訪問父類的所有屬性和方法。


- 在重寫父類方法時(shí),子類必須確保方法的行為是一致的,否則可能會(huì)導(dǎo)致意想不到的錯(cuò)誤。


- 容易引入復(fù)雜性,繼承層次過深或者過多,會(huì)導(dǎo)致代碼難以維護(hù)。


組合是一種弱耦合的關(guān)系,它可以將多個(gè)對(duì)象組合成一個(gè)更大的對(duì)象。


組合的優(yōu)點(diǎn)是它可以將變化的部分抽象成接口,而不是具體的實(shí)現(xiàn)。


通過組合的方式,我們可以更加靈活地替換組合對(duì)象的具體實(shí)現(xiàn)。


組合和繼承都是代碼復(fù)用的方式,但是繼承是一種強(qiáng)耦合的關(guān)系,而組合是一種弱耦合的關(guān)系。


因此,我們應(yīng)該盡量使用組合而不是繼承,以便讓我們的代碼更加靈活、可擴(kuò)展和可復(fù)用。


To be continued...


設(shè)計(jì)模式(3)設(shè)計(jì)模式的基本原則(上)封裝變化的內(nèi)容、面向接口編程、多用組合的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
南木林县| 防城港市| 庆阳市| 漯河市| 伊通| 日土县| 洛宁县| 东丰县| 寻乌县| 长沙市| 龙井市| 綦江县| 赣榆县| 镇康县| 南康市| 岐山县| 读书| 连江县| 遵义市| 汤阴县| 祁阳县| 宁强县| 巴林左旗| 新龙县| 板桥市| 赤峰市| 集贤县| 浦东新区| 江陵县| 米易县| 余庆县| 荥经县| 尚志市| 秦皇岛市| 高碑店市| 河池市| 莒南县| 盘山县| 江华| 嘉峪关市| 新和县|