五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(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ó)家法律
石嘴山市| 拜城县| 安平县| 谷城县| 扶余县| 尚义县| 东安县| 房产| 九江县| 昆明市| 夏邑县| 昌图县| 东台市| 上虞市| 平武县| 当雄县| 卓尼县| 普兰县| 泸西县| 泽州县| 镇安县| 康平县| 峨边| 翼城县| 佛坪县| 东宁县| 韶关市| 青海省| 麻栗坡县| 田林县| 香港 | 贵定县| 宜都市| 黑山县| 鄯善县| 伊川县| 措美县| 榆树市| 宜兰市| 南康市| 惠来县|