理解MVC 中模型的結構
與常見的誤解相反,MVC 中的模型是一個層,而不是單一類別或目的。此層由三個主要結構組成:
1.域物件
- 表示問題域中的邏輯實體
- 定義用於驗證、計算等的業務邏輯
- 不關心儲存
2。資料映射器
- 負責持久化
- 可以與資料庫、XML 檔案或其他儲存機制互動
- 提供實體儲存層的抽象
3.服務
- 為域業務邏輯提供更高層級的介面
- 可以與域物件和資料映射器交互
- 可以封裝通用邏輯和交互,降低控制器的複雜性
訪問模型
控制器和視圖應通過依賴注入或工廠訪問模型服務,以確保鬆散訪問模型服務,以確保鬆散耦合和可測試性。
與模型互動
- 控制器取得使用者輸入並根據它改變模型狀態。
- 控制器應該不驗證輸入或執行資料庫查詢。
- 視圖向使用者顯示目前模型狀態。
建立模型
專注於創建實現特定功能的單獨服務,而不是嘗試建立單一「模型」類別。然後,根據需要建立網域物件和資料映射器。
其他注意事項
-
資料庫表和模型:資料庫之間的關係表格和模型組件可能不是1:1: 1
-
視圖不是模板:視圖負責表示邏輯,使用模板根據從模型獲得的資料來組裝內容。
-
視圖-控制器關係: 在 Web 開發中,通常首選視圖和控制器之間具有 1:1 的關係,每個控制器處理特定的請求頁。
以上是MVC中模型層的三個關鍵結構是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!