java項目開發(fā)實例 怎么理解java中的業(yè)務(wù)邏輯層,數(shù)據(jù)訪問層,表示層?
怎么理解java中的業(yè)務(wù)邏輯層,數(shù)據(jù)訪問層,表示層?一般意義上的三層體系結(jié)構(gòu)是將整個業(yè)務(wù)應(yīng)用程序分為表示層(UI)、業(yè)務(wù)邏輯層(BLL)和數(shù)據(jù)訪問層(DAL)。差異化的目的是“高內(nèi)聚,低耦合”。1表示
怎么理解java中的業(yè)務(wù)邏輯層,數(shù)據(jù)訪問層,表示層?
一般意義上的三層體系結(jié)構(gòu)是將整個業(yè)務(wù)應(yīng)用程序分為表示層(UI)、業(yè)務(wù)邏輯層(BLL)和數(shù)據(jù)訪問層(DAL)。差異化的目的是“高內(nèi)聚,低耦合”。1表示層(UI):一般來說,它是呈現(xiàn)給用戶的界面,即用戶在使用系統(tǒng)時看到的內(nèi)容。(僅負責顯示)2。業(yè)務(wù)邏輯層(businesslogicallayer,BLL):針對特定問題的操作,也可以說是針對數(shù)據(jù)層和數(shù)據(jù)業(yè)務(wù)邏輯處理的操作。(關(guān)鍵是從原始數(shù)據(jù)中抽象出邏輯數(shù)據(jù))可以提供接口API級別的所有函數(shù)?!爸虚g業(yè)務(wù)層”的實際目的是結(jié)合“數(shù)據(jù)訪問層”最基本的存儲邏輯,形成一種業(yè)務(wù)規(guī)則。三。數(shù)據(jù)訪問層(DAL):該層的事務(wù)直接操作數(shù)據(jù)庫,如添加、刪除、修改和搜索數(shù)據(jù)。(關(guān)鍵在于對粒度的把握)保證“數(shù)據(jù)訪問層”功能的原子性!也就是說,最小和不可分割。數(shù)據(jù)訪問層只負責存儲或讀取數(shù)據(jù)。寫更多的項目,了解更多的項目結(jié)構(gòu),你可能會知道這樣的好處
現(xiàn)在很多公司的開發(fā)人員應(yīng)該采用MVC架構(gòu)。
MVC是所謂的模型、視圖、控制器。
每一層都有明確的分工。
對于簡單的項目,不管nignx如何,網(wǎng)關(guān)通常都會將請求從前端發(fā)送到后端,首先發(fā)送到控制器,然后發(fā)送到服務(wù)層,然后發(fā)送到Dao層。
這里的服務(wù)層就是所謂的業(yè)務(wù)層,專門負責業(yè)務(wù)處理操作,而Dao層則負責處理數(shù)據(jù)庫,將數(shù)據(jù)庫中的數(shù)據(jù)帶回服務(wù),經(jīng)過服務(wù)處理后返回控制器層??刂破魍ㄟ^視圖解析器解析頁面,并通過瀏覽器呈現(xiàn)頁面。
基本上,我認為答案是顯而易見的。也就是說,Java業(yè)務(wù)邏輯是在服務(wù)層編寫的。
事實上,服務(wù)層涉及接口和接口實現(xiàn)。
在編寫代碼時,我們通常為控制器定義一個調(diào)用接口。
實際上,服務(wù)接口的實現(xiàn)類應(yīng)該是編寫業(yè)務(wù)邏輯的地方。
當然,許多公司可能有多個服務(wù)層,例如,有一個管理層繼續(xù)對數(shù)據(jù)進行特殊的業(yè)務(wù)處理。這里只是一個簡單的概述。
每個公司的每個項目根據(jù)其自身業(yè)務(wù)可能有不同的體系結(jié)構(gòu)。但本質(zhì)是一樣的。
綜上所述,業(yè)務(wù)邏輯必須作為一個獨立的層來處理,這樣便于擴展和維護。記住不要在控制器中編寫所有業(yè)務(wù)邏輯。
每一層都有自己的分工,是捏合在一起的。代碼不僅冗長,而且雜亂無章。
好吧,我希望我的回答能幫助你
!如果你有興趣,可以關(guān)注一下,一起學習交流!