三層架構與MVC模式
三層架構
三層架構是一種以實現“高內聚,底耦合”為目標,的代碼架構方法,它將整個業務分為,表示層,業務層,數據訪問層(Dao層)。
MVC模式
MVC模式是一種軟件設計的典范,一種組織代碼的方法。
M 是 model 模型
V 是 view 視圖
C 是 control 控制器
控制器是用來將不同的view和不同的model組織在一起。且mvc往往在三層架構中的表現層使用,如SpringMVC,Struct2等是優秀的用於表現層的mvc框架。MyBatis是常用於Dao層的框架。
區別
MVC是一種設計模式,是解決方案。三層架構是種軟件架構方法。
MVVM模式
MVVM模式也是一種軟件的架構模式,在它是(Model-View-ViewModel)的縮寫,其核心是VM,VM是視圖與模型之間的橋梁,它實現了視圖與模型的相互映射。
在MVVM中模型的改變會引起視圖的改變,視圖的改變會引發模型的改變。
與MVC的異同
- MVVM沒有MVC模式的控制器,也沒有MVP模式的presenter,有的是一個綁定器。在視圖模型中,綁定器在視圖和數據綁定器之間進行通信。
- MVVM模式不同於MVC,在MVVM模式中,將ViewModel層綁定到View層后,它基本不使用點擊事件,而是使用命令(Command)來控制。數據的顯示也是不同於MVC,而是使用Binding來綁定相關數據。
MVVM實例
如VUE中的數據的雙向綁定就是MVVM的一個應用:
<!-- 該dom下的div可以看作是view -->
<div id="example">{{message}}</div>
<script>
// data 可以看作是數據模型 model
// Vue對象vm就是ViewModel
var vm = new Vue({
el: '#example',
data: {message:'zhangsan'}
})
</script>