在設(shè)計(jì)模式上,抽象、繼承、多態(tài),是基本概念,設(shè)計(jì)模式的目的是建立彈性設(shè)計(jì),以便維護(hù)和應(yīng)付變化。簡(jiǎn)單說就是提高軟件的可維護(hù)性和可擴(kuò)展性。
TIPS
- OO設(shè)計(jì)必須具備可復(fù)用性,可擴(kuò)展性,可維護(hù)性三個(gè)基本特性。
- 模式可以讓我們建立出具有良好OO設(shè)計(jì)質(zhì)量的系統(tǒng)。
- 模式不是代碼,而是針對(duì)問題的通用解決方法。
- 多數(shù)模式和原則,致力于軟件變化的主題,以及允許局部改變獨(dú)立于其他部分。
- 將系統(tǒng)中變化的部分抽取封裝。
- 當(dāng)維護(hù)時(shí),為了復(fù)用而使用繼承,會(huì)出現(xiàn)局限性。
原則
把變化的部分封裝起來,讓其他部分不受影響。
找出應(yīng)用中可能變化的部分,把它們獨(dú)立出來。針對(duì)接口,而不是實(shí)現(xiàn)編程。
針對(duì)接口的編程,關(guān)鍵是多態(tài),使用多態(tài),程序可以實(shí)現(xiàn)針對(duì)超類編程。
關(guān)于超類,既可以是名詞性的事物,也可以是動(dòng)詞屬性的行為,行為也可以包含多個(gè)信息。多組合,少繼承。