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