成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

三層架構與MVC謎團之答案揭曉

開發 后端
我們平時總是將三層架構與MVC混為一談,殊不知它倆并不是一個概念。下面我來為大家揭曉我所知道的一些真相。

我們平時總是將三層架構與MVC混為一談,殊不知它倆并不是一個概念。下面我來為大家揭曉我所知道的一些真相。

 

首先,它倆根本不是一個概念。

 

三層架構是一個分層式的軟件體系架構設計,它可適用于任何一個項目。

MVC是一個設計模式,它是根據項目的具體需求來決定是否適用于該項目。

 

那么架構跟設計模式有什么區別呢?

我們從接手一個項目開始,首先,我們需要進行架構設計,一般我們采用的就是分層式的架構設計,即我們的三層架構。

 

然后,在確定了架構以后,我們再根據項目的具體需求去考慮是否需要應用一些設計模式,比如是否應用我們的MVC模式,抽象工廠模式等等。(在這里我們看出,MVC與三層架構不是一個等級的,而與抽象工廠等設計模式才是一路的)

 

最后,確定了模式以后,就是我們的一些具體的實現了。(當然一個項目不僅僅考慮這些問題,我只是為了說明兩者的區別,將其他問題已省略)

 

其次,它倆劃分的層次不同。

三層架構將整個項目劃分為:表現層(UI)、業務邏輯層(BLL)、數據訪問層(DAL)。

MVC即Model(模型),View(視圖),Controller(控制)。

 

下面看一下他倆的區別與聯系:

 

通過這個圖我們可以知道,我們平常所說的V是UI,C是BLL,M是DAL的觀點是錯誤的。

而我們通常所見到的MVC一般也都是在應用三層架構的基礎上,即將Model層再進行分層。而如果Model不再進行劃分的話,那么使用MVC的意義也就不大了。

 

然后,它倆的目的著重點不同。

三層架構的目的著重點是“高內聚,低耦合”,即解耦。

MVC的目的則是實現Web系統的職能分工,即職責劃分。

其實職責劃分也是解耦,但是三層側重的是整體的一個解耦,而MVC側重的是web系統的解耦,即側重jsp和Servlet的一個解耦。

 

最后,為何我們會將其混為一談?

既然兩者有這么多的不同,我們為什么還總是將其混淆呢,下面我列舉了幾個我們常常將其混為一談的幾個原因:

1.二者都是“三層”。

這個原因是最容易迷惑我們初學者的,一個是UI,BLL,DAL,一個是View,Controller,Model,不都是三層嗎?

雖然都是“三層”(不一定是真的三層,還可以是多層),但是它們的劃分的不一樣。大家可從上面的圖中看出不同。

 

2.MVC總是伴隨著三層架構。

這個就是我在前面一再強調的,我們一般是在考慮使用(也可以不使用)了三層架構的基礎上再根據具體需求決定是否需要使用MVC,于是我們常說的MVC中總是伴隨著三層架構,所以大家總是會認為MVC就是三層架構,三層架構就是MVC,殊不知,它們二者是一起出現的。

 

3.都是在分層,即都是在解耦。

前面說它們目的的時候也說了,雖然它們的側重點不同,但是它們的總體目的是一樣的,都是為了解耦,對于初學者而言,是不知道這兩個側重點有何不同的。

 

大家往往對它們的聯系知道很多,不然也不會混為一談,但是對它們的區別卻知道較少,希望我上面講解的它們兩者之間的區別可以讓大家對它們有些了解,如有寫的不妥的地方,請指教。

原文鏈接:http://blog.csdn.net/zhaodandan19910306/article/details/7202463

【編輯推薦】

  1. Java處理字符串搜索嵌套結構的方法
  2. 你了解JavaScript中的function嗎?
  3. Java編程:常見問題匯總
  4. Java數據庫連接代碼集合
  5. Java Thread的概述與總結
責任編輯:林師授 來源: zhaodandan19910306博客
相關推薦

2009-04-21 11:27:52

MVCJSPJDBC

2009-04-30 15:56:50

三層架構MVCMVP

2009-07-28 15:08:50

MVC三層架構實例

2011-08-08 14:14:03

架構

2009-04-30 09:15:25

三層結構MVC架構

2011-04-19 13:53:41

三層架構

2019-07-26 08:39:29

JavaWebMVC

2018-03-08 15:30:31

超融合架構傳統三層架構

2009-08-26 18:20:42

三層架構

2013-01-09 11:00:20

架構開發三層架構.NET架構

2009-07-28 17:25:14

ASP.NET三層結構

2012-02-03 09:44:33

.NET

2015-07-02 10:57:11

General框架架構開發

2018-10-31 14:32:53

數據中心網絡架構

2010-01-04 09:15:19

三層交換技術

2009-05-06 09:40:04

LINQWEB開發構架

2014-02-12 10:07:07

三層交換原理

2012-08-02 11:05:04

系統建模架構

2011-05-12 14:24:14

三層架構

2013-03-04 10:40:34

三層架構架構設計
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美舔穴 | 国产精品96久久久久久 | 国产精品久久久久久久久久免费看 | 久久在线视频 | 综合国产在线 | 一区二区在线 | 国产欧美精品 | 欧美一区二区三区久久精品 | 福利片在线观看 | a级黄色网 | 性高湖久久久久久久久3小时 | 国产一区二区不卡 | 美日韩一区二区 | 国产精品一区二区三区四区 | 日韩一区二区在线视频 | 精品自拍视频在线观看 | 免费骚视频 | 成人三级av | 一色一黄视频 | 爱草在线| 国产日韩一区二区 | 激情毛片 | 99久久久国产精品 | 亚洲欧美激情精品一区二区 | 精品久久久久久国产 | 国产一级在线观看 | 毛片网络 | 久久久久久国产精品免费免费 | 久久久久成人精品亚洲国产 | 久久精品国内 | 伊人久久成人 | 久久网站黄 | 日本不卡免费新一二三区 | 亚洲精品亚洲人成人网 | 精品国产欧美在线 | 在线不卡视频 | 国产日产精品一区二区三区四区 | 中文字幕精| 亚洲国产成人精品一区二区 | 亚欧精品| 久久久做 |