主流的三個程式設計風格有:面向對象,面向過程,函數式程式設計。
面向對象是最主流的風格,面向對象具有豐富的特性(封裝,抽象,繼承,多态)。
面向對象
面向對象的4大特性:封裝、繼承,抽象、多态。
面向對象程式設計與面向過程的差別和聯系
面向對象分析,面向對象設計、面向對象程式設計
接口和抽象類的差別與各自的應用場景
基于接口實作的程式設計的設計思想
多個組合少用繼承的設計思想
多面向過程的貧血模型和面向對象的充血模型
設計原則是指導我們代碼設計的一些總結,設計原則有 solid 原則:
solid 原則- srp 單一職責原則
solid 原則- ocp 開閉原則
solid 原則- lsp 裡氏替換原則
solid 原則- isp 接口隔離原則
solid 原則- dip 依賴倒置原則
dry 原則、kiss 原則、 yagni 原則、lod 法則
設計模式是針對軟體開發中遇到的一些設計問題,經典的設計模式有 23 種。但是可以分成 3 大類:建立型,結構型,行為型。
建立型
常見是設計模式有: 單利模式、工廠模式(工廠方法和抽象工廠)、建造者模式
不常見的有:原型模式
結構型
常用的有:代理模式,橋接模式,裝飾器模式,擴充卡模式。不常用的有:門面模式、組合模式、享元模式
行為型
常用的有:觀察者模式、模闆模式、政策模式、職責鍊模式、疊代器模式、狀态模式
不常用的:通路者模式、備忘錄模式、指令模式、解釋權模式、中介模式
程式設計規範主要解決的是代碼可讀性的問題。程式設計規範相對于設計原則,設計模式,更加具體,更加偏重代碼細節。
程式設計規範《重構》《代碼大全》《代碼整潔之道》是非常好的參考資料
沒有一勞永逸的設計,需要随着需求的變化,不斷疊代。重構的工具是面向對象設計思想,設計原則,設計模式,編碼規範。
重構的目的(why)、對象(what)、時機(when)、方法(how)
保證重構不出錯的技術手段:單元測和代碼可測試性。
兩種不同規模的聰哥:大重構額小重構
面向對象、設計原則、設計模式、程式設計規範、代碼重構 本質上都是服務于編寫高品質代碼的。面向對象程式設計因為具有豐富的特性(封裝,抽象,繼承,多态),可以實作很多複雜的設計思路,很多設計原則,設計模式等編碼實作的基礎。
https://mp.weixin.qq.com/s/md1bwpisjkihevmtqanjfa