1. 程式人生 > >JavaEE(五):MVC模式

JavaEE(五):MVC模式

一、簡介

    MVC是一種架構設計模式,是一種設計理念。是為了達到分層設計的目的,從而使程式碼解耦,便於維護和程式碼的複用。MVC是3個單詞的縮寫,全稱:Model-View-Controller(模型-檢視-控制器)。


二、結構

1、View

檢視層,就是UI介面,用於跟使用者進行互動。一般所有的JSP、Html等頁面就是View層。

2、Controller

控制層,Controller層的功能就是將Model和View層進行關聯。比如View主要是顯示資料的,但是資料又需要Model去訪問,這樣的話,View會先告訴Controller,然後Controller再告訴Model,Model請求完資料之後,再告訴View。這樣View就可以顯示資料了。

3、Model

模型層,可以簡單理解就是資料層,用於提供資料。在專案中,(簡單理解)一般把資料訪問和操作,比如將物件關係對映這樣的程式碼作為Model層,也就是對資料庫的操作這一些列的程式碼作為Model層。比如程式碼中我們會寫DAO和DTO型別的程式碼,那這個DAO和DTO我們可以理解為是屬於Model層的程式碼。

三、擴充套件

其實現在除了MVC架構之外,還有MVP、MVVM等。在實際專案中MVC更好的實現應該還多一個service層,用來處理業務邏輯。如下:

其中多出來的Service層,主要是用來處理複雜的業務邏輯,這樣結構層次更加鮮明和簡介。

MVC框架主要為:SpringMVC和Struts

相關推薦

JavaEE:MVC模式

一、簡介    MVC是一種架構設計模式,是一種設計理念。是為了達到分層設計的目的,從而使程式碼解耦,便於維護和程式碼的複用。MVC是3個單詞的縮寫,全稱:Model-View-Controller(模型-檢視-控制器)。二、結構1、View檢視層,就是UI介面,用於跟使用者

設計模式Singleton模式

str pack println oba new system png single 成了   Singleton模式就是確保只生成一個實例的模式。這裏有兩個意思,即想確保任何情況下都絕對只有一個實例和想在程序上表現出“只存在一個實例”。   下面通過一個實例來說明這種設計

設計模式介面卡模式Adapter結構型

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

設計模式之迭代器模式Iterator

前言: 參考圖書:軟體設計模式與體系結構 參考部落格:https://www.cnblogs.com/wanson/articles/9277813.html   正題:         迭代器(iterator)有時又稱遊標

設計模式---- 原型模式

err ack 深克隆 system not 原型模式 get bytes exception 原型模式   通過 new 產生一個對象需要非常繁瑣的數據準備或訪問權限,則可以使用原型模式。就是 java 中的克隆技術,以某個對象為原型,復制出新的對象。顯然,新的對象具備原

設計模式裝飾模式

裝飾者模式:若要擴充套件功能,裝飾者提供了比整合更有彈性的替代方案,動態地將責任附加到物件上。 先簡單描述下裝飾者模式發揮作用的地方,當我們設計好了一個類,我們需要給這個類新增一些輔助的功能,並且不希望改變這個類的程式碼,這時候就是裝飾者模式大展雄威的時候了。這裡還體現了一

JAVA設計模式詳解----------狀態模式

各位朋友,本次LZ分享的是狀態模式,在這之前,懇請LZ解釋一下,由於最近公司事情多,比較忙,所以導致更新速度稍微慢了些(哦,往後LZ會越來越忙=。=)。 狀態模式,又稱狀態物件模式(Pattern of Objects for States),狀態模式是物件的行為模式。

JavaScript設計模式——外觀模式

一、外觀模式概念解讀        外觀模式(Facade)為子系統中的一組介面提供了一個一致的介面,此模組定義了一個高層介面,這個介面使得這一子系統更加容易使用。        外觀模式不僅簡化類中的介面,而且對介面與呼叫者也進行了解耦。外觀模式經常被認為開發者必備,t

java學習筆記 MVC模式

MVC模式 M 代表 模型(Model):應用程式中用於處理應用程式資料邏輯的部分,通常模型物件負責在資料庫中存取資料。 V 代表 檢視(View) :應用程式中處理資料顯示的部分。通常檢視是依據模型資料建立的。 C 代表 控制器(controller) :應用程式中處理使

RabbitMQ種訊息佇列學習--路由模式

RabbitMQ五種訊息佇列學習(五)–路由模式 標籤(空格分隔): RabbitMQ 釋出訂閱模式只是利用路由這個功能,將訊息全部分發給所有與路由繫結的佇列中,不能對不同的訊息進行選擇性的分發。 模型結構 路由根據Routing Key進行

C# 設計模式原型模式unity演示

1、引言   我們在軟體開發的過程中,常常會用到new欄位來建立物件。那麼是不是隻有這一種辦法來建立物件呢?答案顯然不是的。然而使用new來建立物件時,適用於任何時候呢?顯然答案也是否定的,什麼時候就不適用new呢?讓我們來看看,當我們建立的一個

設計模式快速學習原型模式

用於建立重複的物件,同時又能保證效能。通俗的講,原型模式就是克隆物件,直接copy位元組碼,不走構造方法,效能非常高。ORM中經常用到。 注意 只支援9種資料型別的深拷貝: 8大基本型別(int long float double boolean char short byte )+String

淺談Java設計模式原型模式Prototype

前言: 原型模式雖然是建立型的模式,但是與工程模式沒有關係,從名字即可看出,該模式的思想就是將一個物件作為原型,對其進行復制、克隆,產生一個和原物件類似的新物件。本小結會通過物件的複製,進行講解。在Java中,複製物件是通過clone()實現的,先建立一個原型類: publ

ZYNQ基礎系列 AMP模式 雙裸核CPU同時執行

AMP模式 雙核CPU同時執行 從軟體的角度來看,多核處理器的執行模式有三種: AMP(非對稱多程序):多個核心相對獨立的執行不同的任務,每個核心可能執行不同的作業系統或裸機程式,但是有一個主要核心,用來控制整個系統以及其它從核心 SMP(對稱多程序)

RocketMQ——消費模式

宣告: 目錄: 一叢集消費 二廣播消費 內容補充 一、叢集消費 之前的部落格中,啟動的都是單個Consumer,如果啟動多個呢?  RocketMQ-叢集消費 其實,對於RocketMQ而言,通過ConsumeGroup的機制,實現了天然的訊息負載均衡

譯文:使用MVC5的Entity Framework 6入門——MVC程式中實體框架的Code First遷移和部署

MVC程式中實體框架的Code First遷移和部署 這是微軟官方教程Getting Started with Entity Framework 6 Code First using MVC 5 系列的翻譯,裡是第五篇:MVC程式中實體框架的Code Firs

設計模式——裝飾模式

裝飾模式,顧名思義就是對原有的物件進行裝飾,新增新的東西。裝飾模式可以在不創造更多的子類的模式下,將物件的功能加以擴充套件。 講到裝飾模式不得不說,java 的 io 就是有利用裝飾模式設計。 寫兩句程式碼就清楚了。 1、socket程式設計,讀控制檯輸入

Java程式設計師從笨鳥到菜鳥之三十四大話設計模式建立者模式和原型模式

        建立者模式是建立型模式中最負責的一個設計模式了,建立者負責構建一個物件的各個部分,並且完成組裝的過程.構建模式主要用來針對複雜產品生產,分離部件構建細節,以達到良好的伸縮性。把構造物件例項的邏輯移到了類的外部,在這個類外部定義了這個類的構造邏輯。它把一個複雜物件的構過程從物件的表示中分離

Unity3d之設計模式狀態模式

狀態模式 在狀態模式(State Pattern)中,類的行為是基於它的狀態改變的。這種型別的設計模式屬於行為型模式。 在狀態模式中,我們建立表示各種狀態的物件和一個行為隨著狀態物件改變而改變的 context 物件。 介紹 意圖:允許物件在內部狀態發生改變時改變

Java設計模式 原型模式詳解

一、引言        在開發過程中,有時會遇到為一個類建立多個例項的情況,這些例項內部成員往往完全相同或有細微的差異,而且例項的建立開銷比較大或者需要輸入較多引數,如果能通過複製一個已建立的物件例