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

歡迎光臨散文網(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ó)家法律
甘泉县| 吉木萨尔县| 大姚县| 泰州市| 景德镇市| 锡林郭勒盟| 廉江市| 扎兰屯市| 枝江市| 长寿区| 易门县| 彰化县| 肃南| 杂多县| 金平| 罗城| 中卫市| 游戏| 吴忠市| 易门县| 信阳市| 富源县| 郑州市| 龙泉市| 绥宁县| 敦化市| 即墨市| 德庆县| 克山县| 眉山市| 将乐县| 靖宇县| 金堂县| 青州市| 福建省| 唐河县| 宽甸| 大余县| 南昌市| 德惠市| 贵州省|