五月天青色头像情侣网名,国产亚洲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ó)家法律
句容市| 高淳县| 桂林市| 北票市| 乌什县| 广安市| 江永县| 佳木斯市| 浪卡子县| 延津县| 辽阳县| 喀什市| 阜新市| 洪洞县| 衡阳市| 公安县| 阿巴嘎旗| 涪陵区| 恩平市| 宜兰市| 孝感市| 资源县| 漾濞| 长寿区| 巴林右旗| 巢湖市| 庆安县| 柯坪县| 普陀区| 高雄市| 晋城| 江阴市| 衡南县| 阿荣旗| 黄冈市| 巴林右旗| 无锡市| 汪清县| 重庆市| 错那县| 镇原县|