1.面向過程(PROCEDURE ORIENTED)
1).具體化,流程化
2).性能高
3).算法+數據結構
2.面向對象(OBJECT ORIENTED)(OO)
1).模型化
2).易維護,易複用,易擴展
3.面向對象編程(OOP)
1).繼承 允許在現存的組件基礎上創建子類組件,這統一併增強了多態性和封裝性
A).重載(以統一的方法處理不同數據類型) 一個類的多態性表現
B).重寫(方法重寫) 父子類多態性體現
2).封裝(信息封裝) 確保組件不會以不可預期的方式改變其它組件的內部狀態
3).多態 組件的引用和類集會涉及到其它不同類型的組件,而且引用組件所產生的結果得依據實際調用的類型
4.面向切面編程(ASPECT ORIENTED PAROGRAMMING)(AOP)
1).切面 項目模塊中某些業務邏輯(業務需要一定共性)
2).解耦,提高程序可重用性,提高開發效率
5.三層架構、MVC、MVP、MVVM
1).三層架構--界面層(User Interface Layer-Business Logic Layer-Data access Layer 界面–業務邏輯–數據訪問)
A).界面層(UIL) 與用戶交互
B).業務邏輯層(BLL) 實現業務邏輯。業務邏輯具體包含:驗證、計算、業務規則等
C).數據訪問層(DAL) 與數據庫打交道。主要實現對數據的增、刪、改、查
2).MVC(Model-View-Controller 模型–視圖–控制器)
A).Model(模型) 業務邏輯、業務模型、業務操作、數據模型。定義了數據修改和操作的業務規則
B).View (視圖) UI組件。接收Controller數據,降Model轉化成UI
C).Controller(控制器) 處理流入請求
D).特點 View和Model分離(1978 Trygve Reenskaug)
E).流程 View⇒Controller⇒Model⇔View
3).MVP(Model-View-Presenter MVC改良模式(View與Model完全解耦))
A).Model(模型) 業務邏輯、業務模型、業務操作、數據模型。定義了數據修改和操作的業務規則
B).View (視圖) UI組件。接收Controller數據,降Model轉化成UI
C).Presenter(控制器) 處理View背後所有UI事件(一個Presenter只映射一個view)
D).特點 View和Presenter雙向交互(IBM的子公司Taligent提出)
E).流程 View⇔Presenter⇔Model
4).MVVM(Model-View-View Model MVP中把P層削弱爲VM層,部分簡單的邏輯職責分給了View層)
A).Model(模型) 業務邏輯、業務模型、業務操作、數據模型。定義了數據修改和操作的業務規則
B).View (視圖) UI組件。接收Controller數據,降Model轉化成UI
C).View Model(控制器) 負責暴漏方法,命令,其他屬性來操作View的狀態,觸發View自己的事件
D).特點 View和View Model雙向數據綁定關係
E).流程 View⇒View Model⇔Model