淺談MVC中的service層(轉)


概述

mvc框架由model,view,controller組成,執行流程一般是:在controller訪問model獲取數據,通過view渲染頁面。

mvc模式是web開發中的基礎模式,采用的是分層設計,各層之間職責分明。然而事與願違,當我們日積月累的基於mvc模式開發之后,會逐漸的感受到層與層之間存在粘連和職責模棱兩可的地方,這就是service層出現的重要原因。

 

問題是什么?

問題的本質是:業務邏輯粘連了C層和M層,應該從C層&M層解耦出來,成為獨立的Service層。
在C層直接實現業務邏輯,缺點:
1. 不同的controller之間,無法共享通用的業務邏輯,比如:折扣計算。

業務邏輯升級,需直接在原代碼上做修改兼容,導致controller代碼不斷膨脹復雜。


service層的作用:

service是業務層,是使用一個或多個模型執行操作的方法。
1. 封裝通用的業務邏輯,操作。
如一些數據的檢驗,可以通用處理。
2. 與數據層的交互。
3. 其他請求:如遠程服務獲取數據,如第三方api等。

 

補充:

Model和Service驗證方面
Model校驗:某些字段不能為空等數據層的校驗
Service驗證:邏輯層的校驗,避免一些不合理的出現,尤其是調用多個模型
ci框架擴展service
http://www.cnblogs.com/SLchuck/p/5804555.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM