java獲取對象屬性值的方法 java業(yè)務(wù)邏輯,寫在哪里比較好?
java業(yè)務(wù)邏輯,寫在哪里比較好?現(xiàn)在很多公司開發(fā)人員應(yīng)該采用都是mvc架構(gòu)。Mvc就是所謂的model模型,view視圖,controller控制器。每個(gè)層都有明確分工。簡單的項(xiàng)目拋開nignx,網(wǎng)
java業(yè)務(wù)邏輯,寫在哪里比較好?
現(xiàn)在很多公司開發(fā)人員應(yīng)該采用都是mvc架構(gòu)。
Mvc就是所謂的model模型,view視圖,controller控制器。
每個(gè)層都有明確分工。
簡單的項(xiàng)目拋開nignx,網(wǎng)關(guān),一般都是前端發(fā)一個(gè)請求到后端,首先到達(dá)contoller然后是service層再然后是dao層。
這里的service層就是所謂的業(yè)務(wù)層,專門負(fù)責(zé)業(yè)務(wù)處理操作,而dao層負(fù)責(zé)和數(shù)據(jù)庫打交道,從db拿數(shù)據(jù)返給service,sevice處理完返給controller層,controller通過視圖解析器,解析完通過瀏覽器渲染頁面。
說到這里基本上,我想答案已經(jīng)很明顯了。那就是Java業(yè)務(wù)邏輯寫在service層。
而sevice層其實(shí)又涉及到接口和接口實(shí)現(xiàn)。
就是我們一般寫代碼都會(huì)定義一個(gè)接口供controller去調(diào)用。
其實(shí)service接口的實(shí)現(xiàn)類最終才應(yīng)該是寫業(yè)務(wù)邏輯的地方。
當(dāng)然很多公司可能不止一個(gè)sevice層,比如還有一個(gè)manager層繼續(xù)對數(shù)據(jù)做特殊業(yè)務(wù)處理,這里只是簡單的說下大致情況。
每個(gè)公司每個(gè)項(xiàng)目根據(jù)自身業(yè)務(wù),架構(gòu)可能不太一樣。但本質(zhì)是一樣的。
總結(jié)一下就是業(yè)務(wù)邏輯肯定需要單獨(dú)作為一層去處理,這樣既方便拓展,也方便維護(hù)。切記不要把所有的業(yè)務(wù)邏輯都寫在controller里面。
每個(gè)層都有自己的分工,都揉在一塊不僅僅代碼冗長看起來還很亂,不清晰。
好了,希望我的回答能幫到你!
感興趣可以關(guān)注,共同學(xué)習(xí)交流!
為什么java需要getter/setter來獲取私有屬性?
題主好,我來回答這個(gè)問題。
首先,通過g/s來獲取私有屬性的值,是javaBean規(guī)范中的一條,主要是為了把對象私有的那點(diǎn)小秘密藏起來,避免被壞人看到。
舉例說明,張三是一個(gè)對象,張三的錢包是他的一個(gè)屬性,當(dāng)然張三為了安全起見,會(huì)把錢包藏起來,只有自己能看到,也就是說,錢包是private的。張三還有個(gè)坑爹兒子:小三子。因?yàn)橛辛诵∪?,張三就需要提供一個(gè)供小三子領(lǐng)生活費(fèi)的方法,而不是直接把錢包暴露給小三子。因?yàn)?,直接暴露給小三子的話,會(huì)有以下幾個(gè)問題:
1、張三控制不住小三子拿錢,萬一拿去買了游戲皮膚就不好了;
2、張三有多少錢,都可以被小三子看到,但是很多時(shí)候,張三是不希望被小三子看到的(例如私房錢);
3、小三子長大以后給張三生活費(fèi),給了多少張三也不知道,就好像得了老年癡呆一樣。
總之,通過方法來操作屬性的根本目的就是為了保護(hù)自己的私有屬性,不被外部直接訪問。