通過MVC模式將Web檢視和邏輯程式碼分離
本文為原創,如需轉載,請註明作者和出處,謝謝!
MVC模式(Model-View-Controller)常被用在Web程式中。如Struts框架就是一個基於MVC模式的Web框架。所謂MVC模式,就是將檢視(也就是客戶端程式碼,包括html、javascript等)和模型(和資料庫及業務邏輯相關的Java程式碼)分開。並通過控制器將兩者聯絡起來。這樣做的好處可以使客戶端開發人員和服務端開發人員的工作儘量分開,以使他們之間的干擾降到最低。
雖然象Struts這樣的框架可以很好地Model和View分離。但是對於客戶端的程式碼,仍然存在著一定的檢視和邏輯混合的現象。如下面的程式碼所示:
function fun1(obj) { }
function fun2() { }
從上面的程式碼可以看出,html程式碼和javascript程式碼都混在了同一個html檔案中。在一般情況下,客戶端的介面是由美工設計的,而對於javascript程式碼,美工一般是不參與實現的。這些程式碼一般也應屬於業務邏輯程式碼的一部分,雖然它們都在客戶端執行,但可能也會處理一定的業務邏輯,如驗證資料的正確性。尤其在AJAX應用中,在客戶端還會通過http協議從服務端獲取資料。這樣就和業務邏輯繫結得更緊了。因此,如果將用於描述介面的html和用於處理業務邏輯的javascript(渲染介面的javascript除外)混在一起,非常不利於團隊中負責這兩方面的人員進行協調。
最好的可能就是將這些javascript程式碼從html程式碼中分離。也許有很多人馬上就會想到,將這些javascript放到.js檔案中,然後使用
MVC模式(Model-View-Controller)常被用在Web程式中。如Struts框架就是一個基於MVC模式的Web框架。所謂MVC模式,就是將檢視(也就是客戶端程式碼,包括html、javascript等)和模型(和資料庫及業務邏輯相關的Java程式碼)分開。並通過控制器將兩者聯絡起來。這樣做的好處可以使客戶端開發人員和服務端開發人員的工作儘量分開,以使他們之間的干擾降到最低。
雖然象Struts這樣的框架可以很好地Model和View分離。但是對於客戶端的程式碼,仍然存在著一定的檢視和邏輯混合的現象。如下面的程式碼所示:
function fun1(obj) { }
function fun2() { }
從上面的程式碼可以看出,html程式碼和javascript程式碼都混在了同一個html檔案中。在一般情況下,客戶端的介面是由美工設計的,而對於javascript程式碼,美工一般是不參與實現的。這些程式碼一般也應屬於業務邏輯程式碼的一部分,雖然它們都在客戶端執行,但可能也會處理一定的業務邏輯,如驗證資料的正確性。尤其在AJAX應用中,在客戶端還會通過http協議從服務端獲取資料。這樣就和業務邏輯繫結得更緊了。因此,如果將用於描述介面的html和用於處理業務邏輯的javascript(渲染介面的javascript除外)混在一起,非常不利於團隊中負責這兩方面的人員進行協調。
最好的可能就是將這些javascript程式碼從html程式碼中分離。也許有很多人馬上就會想到,將這些javascript放到.js檔案中,然後使用
標籤引用一下就ok了。程式碼如下:<br>
<br>
fun.js檔案<br>
<br>
function fun1(obj) { ... }<br>
<br>
function fun2() {... }<br>
<br>
<br>
index.html檔案<br>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><br>
<html><br>
<head><br>
<title></title><br>
<meta. http-equiv="Content-Type" c><br>
<script. type="text/javascript" src="fun.js"><br>
相關文章
- 檢視與邏輯分離之道序篇-使用MVVM模式管理狀態(GetState)MVVM模式
- iOS開發模式MVVM 2分離業務邏輯iOS模式MVVM
- 記一次資料、邏輯、檢視分離的原生JS專案實踐JS
- 檢視與邏輯分離之道1- GetArch, 禿頭拯救者 (Dart軟體架構設計)Dart架構
- 通過呼叫多個操作建立 ASP.NET MVC 檢視ASP.NETMVC
- 通過nginx部署前端程式碼實現前後端分離Nginx前端後端
- 11 UML中的邏輯檢視、程序檢視、實現檢視、部署檢視
- 傳統的MVC開發模式和前後端分離開發模式MVC模式後端
- 【轉】各系統下檢視cpu物理和邏輯個數
- 通過shell指令碼檢視鎖資訊指令碼
- 應用架構之道:分離業務邏輯和技術細節應用架構
- 培養程式碼邏輯
- 通過shell指令碼檢視procedure的資訊指令碼
- 通過shell指令碼檢視package的資訊指令碼Package
- PostgreSQL,SQLServer邏輯增量(通過邏輯標記update,delete)同步到Greenplum,PostgreSQLSQLServerdelete
- ASP.NET MVC 5 Web程式設計4 -- Razor檢視引擎ASP.NETMVCWeb程式設計
- MVP -------簡單邏輯程式碼 -------難度2-----其中通過Handler請求資料MVP
- 一個具有邏輯和物理檢視的ER模型設計工具模型
- swapinfo可以檢視swap區的大小和掛載的邏輯卷API
- 【odoo】【知識點】檢視的繼承邏輯Odoo繼承
- Laravel 通過遷移指令碼建立MySQL檢視Laravel指令碼MySql
- 編碼風格:Mvc模式下SSM環境,程式碼分層管理MVC模式SSM
- ASP.NET Core 5.0 MVC中的檢視分類——佈局檢視、啟動檢視、具體檢視、分部檢視ASP.NETMVC
- 變數C++邏輯程式碼變數C++
- 武器系統邏輯程式碼分析
- 回鍋DS-5:將演算法過程與程式碼分離開解決演算法
- Flutter 的渲染邏輯及和 Native 通訊Flutter
- 從邏輯解偶到物理解耦再到前後端分離解耦後端
- APP攻防--安卓逆向&資料修改&邏輯修改&檢視修改APP安卓
- 【AIX 命令學習】檢視邏輯卷的LVCB資訊!AI
- 將業務邏輯和雲架構分離的多執行時Muilti-Runtime的微服務架構 〜Bilgin Ibryam架構UI微服務
- DDD開源COLA應用架構-實現分離業務邏輯和技術細節應用架構
- Spring MVC的請求處理邏輯SpringMVC
- 幽默:什麼是業務邏輯程式碼?
- idea 中maven檢視 切換離線模式IdeaMaven模式
- Spring專案處理分頁(邏輯和物理分頁)Spring
- 檢視、分離dtf檔案中的事務
- oracle邏輯讀過程Oracle