一、mvc
MVC最大的優點是實現了軟件或網絡應用開發過程中數據,業務邏輯和界面的分離,使軟件開發更清晰,也是維護變得更容易。這與靜態網頁設計中使用html和css實現了內容和樣式的分離是同一個道理。
- Model (模型) 簡而言之即數據模型。模型不是數據本身(比如數據庫里的數據),而是抽象的描述數據的構成和邏輯關系。通常模型包括了數據表的各個字段(比如人的年齡和出生日期)和相互關系(單對單,單對多關系等)。數據庫里的表會根據模型的定義來生成創建。
- View (視圖) 主要用於顯示數據,用來展示用戶可以看到的內容或提供用戶可以輸入或操作的界面。數據來源於哪里?當然是數據庫啦。那么用戶輸入的數據給誰? 當然是給控制器啦。
- Controller(控制器)是應用程序中處理用戶交互的部分。通常控制器負責從視圖讀取數據,控制用戶輸入,並向模型發送數據(比如增加或更新數據表)。
二、mtv:mvc的變種
- Model:與經典MVC模式下的Model差不多。是數據模型並不是數據本身
- Template:與經典MVC模式下的View一致。決定了用戶界面的外觀
- Views:負責業務邏輯,並調用Model和Template。
此外還有一個路由分發器Urls,將一個個URL的頁面請求分發給不同的View處理,View再調用相應的Model和Template。Urls+Views合起來使用,與經典MVC下的Controller更像
三、ORM
ORM:對象關系映射,可以理解為翻譯機,核心思想是將業務邏輯與sql進行解耦和
