viewmodel是什么意思 java業(yè)務(wù)邏輯,寫在哪里比較好?
java業(yè)務(wù)邏輯,寫在哪里比較好?現(xiàn)在很多公司的開發(fā)人員都應(yīng)該采用MVC架構(gòu)。MVC是所謂的模型、視圖、控制器。每一層都有明確的分工。對于簡單的項(xiàng)目,不管nignx如何,網(wǎng)關(guān)通常都會將請求從前端發(fā)送到
java業(yè)務(wù)邏輯,寫在哪里比較好?
現(xiàn)在很多公司的開發(fā)人員都應(yīng)該采用MVC架構(gòu)。
MVC是所謂的模型、視圖、控制器。
每一層都有明確的分工。
對于簡單的項(xiàng)目,不管nignx如何,網(wǎng)關(guān)通常都會將請求從前端發(fā)送到后端,首先發(fā)送到控制器,然后發(fā)送到服務(wù)層,然后發(fā)送到Dao層。
這里的服務(wù)層就是所謂的業(yè)務(wù)層,專門負(fù)責(zé)業(yè)務(wù)處理操作,而Dao層則負(fù)責(zé)處理數(shù)據(jù)庫,將數(shù)據(jù)庫中的數(shù)據(jù)帶回服務(wù),經(jīng)過服務(wù)處理后返回控制器層??刂破魍ㄟ^視圖解析器解析頁面,并通過瀏覽器呈現(xiàn)頁面。
基本上,我認(rèn)為答案是顯而易見的。也就是說,Java業(yè)務(wù)邏輯是在服務(wù)層編寫的。
事實(shí)上,服務(wù)層涉及接口和接口實(shí)現(xiàn)。
在編寫代碼時,我們通常為控制器定義一個調(diào)用接口。
實(shí)際上,服務(wù)接口的實(shí)現(xiàn)類應(yīng)該是編寫業(yè)務(wù)邏輯的地方。
當(dāng)然,許多公司可能有多個服務(wù)層,例如,有一個管理層繼續(xù)對數(shù)據(jù)進(jìn)行特殊的業(yè)務(wù)處理。這里只是一個簡單的概述。
每個公司的每個項(xiàng)目根據(jù)其自身業(yè)務(wù)可能有不同的體系結(jié)構(gòu)。但本質(zhì)是一樣的。
綜上所述,業(yè)務(wù)邏輯必須作為一個獨(dú)立的層來處理,這樣便于擴(kuò)展和維護(hù)。記住不要在控制器中編寫所有業(yè)務(wù)邏輯。
每一層都有自己的分工,是捏合在一起的。代碼不僅冗長,而且雜亂無章。
好吧,我希望我的回答能幫助你
!如果你有興趣,可以關(guān)注一下,一起學(xué)習(xí)交流
MVVM模式下,ViewModel和View,Model有什么區(qū)別?
簡單地說,ViewModel是視圖和模型之間的連接器。視圖和模型通過ViewModel實(shí)現(xiàn)雙向綁定。模型:非常簡單,它是與業(yè)務(wù)邏輯相關(guān)的數(shù)據(jù)對象,通常從數(shù)據(jù)庫映射。我們可以說它是數(shù)據(jù)庫對應(yīng)的模型。觀點(diǎn):也很簡單。它是顯示的用戶界面?;旧?,大多數(shù)軟件的工作是從數(shù)據(jù)存儲器中讀取數(shù)據(jù),將其顯示給用戶界面,然后從用戶界面接收輸入并將其寫入數(shù)據(jù)存儲器。所以,對于數(shù)據(jù)存儲(模型)和接口(視圖)這兩層,我們基本上沒有異議。然而,對于如何將模型顯示給視圖以及如何將數(shù)據(jù)從視圖寫入模型,不同的人有不同的看法。MVC學(xué)派的觀點(diǎn)是,界面上的每一個變化都是一個事件。我只需要為每個事件編寫一堆代碼,將用戶的輸入轉(zhuǎn)換為模型中的對象。這堆代碼可以稱為控制器。MVVM學(xué)派的觀點(diǎn)是,我為視圖中的各種控件定義了相應(yīng)的數(shù)據(jù)對象。這樣,只要修改了數(shù)據(jù)對象,視圖中顯示的內(nèi)容就會自動更新。在視圖中執(zhí)行任何操作后,數(shù)據(jù)對象將自動更新。多美啊。所以:ViewModel:是與接口(視圖)相對應(yīng)的模型。由于數(shù)據(jù)庫結(jié)構(gòu)不能直接與接口控件一一對應(yīng),因此需要定義另一個數(shù)據(jù)對象來具體對應(yīng)視圖上的控件。ViewModel的職責(zé)是將模型對象封裝成一個可以顯示和接受輸入的接口數(shù)據(jù)對象。對于ViewModel的數(shù)據(jù),它會自動與視圖一起刷新并與模型同步。這部分代碼可以作為公共框架編寫,程序員不必?fù)?dān)心。