精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

聊一聊優(yōu)秀的代碼都是如何分層的?

開發(fā) 架構
看起來簡單,很多人其實并沒有把他們職責劃分開,在很多代碼中,controller做的邏輯比service還多,service往往當成透傳了,這其實是很多人開發(fā)代碼都沒有注意到的地方,反正功能也能用,至于放哪無所謂唄。

 1、背景

說起應用分層,大部分人都會認為這個不是很簡單嘛 就controller,service, mapper三層。看起來簡單,很多人其實并沒有把他們職責劃分開,在很多代碼中,controller做的邏輯比service還多,service往往當成透傳了,這其實是很多人開發(fā)代碼都沒有注意到的地方,反正功能也能用,至于放哪無所謂唄。這樣往往造成后面代碼無法復用,層級關系混亂,對后續(xù)代碼的維護非常麻煩。

[[311976]]

的確在這些人眼中分層只是一個形式,前輩們的代碼這么寫的,其他項目代碼這么寫的,那么我也這么跟著寫。但是在真正的團隊開發(fā)中每個人的習慣都不同,寫出來的代碼必然帶著自己的標簽,有的人習慣controller寫大量的業(yè)務邏輯,有的人習慣在service中之間調(diào)用遠程服務,這樣就導致了每個人的開發(fā)代碼風格完全不同,后續(xù)其他人修改的時候,一看,我靠這個人寫的代碼和我平常的習慣完全不同,修改的時候到底是按著自己以前的習慣改,還是跟著前輩們走,這又是個艱難的選擇,選擇一旦有偏差,你的后輩又維護你的代碼的時候,恐怕就要罵人了。

所以一個好的應用分層需要具備以下幾點:

  • 方便后續(xù)代碼進行維護擴展;
  • 分層的效果需要讓整個團隊都接受;
  • 各個層職責邊界清晰。

2、如何進行分層

2.1、阿里規(guī)范

在阿里的編碼規(guī)范中約束的分層如下:

 

開放接口層:可直接封裝 Service 方法暴露成 RPC 接口;通過 Web 封裝成 http 接口;進行 網(wǎng)關安全控制、流量控制等。

終端顯示層:各個端的模板渲染并執(zhí)行顯示的層。當前主要是 velocity 渲染,JS 渲染, JSP 渲染,移動端展示等。

Web 層:主要是對訪問控制進行轉發(fā),各類基本參數(shù)校驗,或者不復用的業(yè)務簡單處理等。

Service 層:相對具體的業(yè)務邏輯服務層。

Manager 層:通用業(yè)務處理層,它有如下特征:1. 對第三方平臺封裝的層,預處理返回結果及轉化異常信息;2. 對Service層通用能力的下沉,如緩存方案、中間件通用處理;3. 與DAO層交互,對多個DAO的組合復用。

DAO 層:數(shù)據(jù)訪問層,與底層 MySQL、Oracle、Hbase 進行數(shù)據(jù)交互。

阿里巴巴規(guī)約中的分層比較清晰簡單明了,但是描述得還是過于簡單了,以及service層和manager層有很多同學還是有點分不清楚之間的關系,就導致了很多項目中根本沒有Manager層的存在。下面介紹一下具體業(yè)務中應該如何實現(xiàn)分層。

2.2、優(yōu)化分層

從我們的業(yè)務開發(fā)中總結了一個較為的理想模型,這里要先說明一下由于我們的rpc框架選用的是thrift可能會比其他的一些rpc框架例如dubbo會多出一層,作用和controller層類似


 

 

最上層controller和TService是我們阿里分層規(guī)范里面的第一層:輕業(yè)務邏輯,參數(shù)校驗,異常兜底。通常這種接口可以輕易更換接口類型,所以業(yè)務邏輯必須要輕,甚至不做具體邏輯。

Service:業(yè)務層,復用性較低,這里推薦每一個controller方法都得對應一個service,不要把業(yè)務編排放在controller中去做,為什么呢?如果我們把業(yè)務編排放在controller層去做的話,如果以后我們要接入thrift,我們這里又需要把業(yè)務編排在做一次,這樣會導致我們每接入一個入口層這個代碼都得重新復制一份如下圖所示:

 

這樣大量的重復工作必定會導致我們開發(fā)效率下降,所以我們需要把業(yè)務編排邏輯都得放進service中去做:

 

Mannager:可復用邏輯層。這里的Mannager可以是單個服務的,比如我們的cache,mq等等,當然也可以是復合的,當你需要調(diào)用多個Mannager的時候,這個可以合為一個Mannager,比如邏輯上的連表查詢等。如果是httpMannager或rpcMannager需要在這一層做一些數(shù)據(jù)轉換

DAO:數(shù)據(jù)庫訪問層。主要負責“操作數(shù)據(jù)庫的某張表,映射到某個java對象”,dao應該只允許自己的Service訪問,其他Service要訪問我的數(shù)據(jù)必須通過對應的Service。

3、分層領域模型的轉換

在阿里巴巴編碼規(guī)約中列舉了下面幾個領域模型規(guī)約:

DO(Data Object):與數(shù)據(jù)庫表結構一一對應,通過DAO層向上傳輸數(shù)據(jù)源對象。

DTO(Data Transfer Object):數(shù)據(jù)傳輸對象,Service或Manager向外傳輸?shù)膶ο蟆?/p>

BO(Business Object):業(yè)務對象。由Service層輸出的封裝業(yè)務邏輯的對象。

AO(Application Object):應用對象。在Web層與Service層之間抽象的復用對象模型,極為貼近展示層,復用度不高。

VO(View Object):顯示層對象,通常是Web向模板渲染引擎層傳輸?shù)膶ο蟆?/p>

Query:數(shù)據(jù)查詢對象,各層接收上層的查詢請求。注意超過2個參數(shù)的查詢封裝,禁止使用Map類來傳輸。

 

每一個層基本都自己對應的領域模型,這樣就導致了有些人過于追求每一層都是用自己的領域模型,這樣就導致了一個對象可能會出現(xiàn)3次甚至4次轉換在一次請求中,當返回的時候同樣也會出現(xiàn)3-4次轉換,這樣有可能一次完整的請求-返回會出現(xiàn)很多次對象轉換。如果在開發(fā)中真的按照這么來,恐怕就別寫其他的了,一天就光寫這個重復無用的邏輯算了吧。

所以我們得采取一個折中的方案:

1、允許Service/Manager可以操作數(shù)據(jù)領域模型,對于這個層級來說,本來自己做的工作也是做的是業(yè)務邏輯處理和數(shù)據(jù)組裝。

2、Controller/TService層的領域模型不允許傳入DAO層,這樣就不符合職責劃分了。

3、同理,不允許DAO層的數(shù)據(jù)傳入到Controller/TService。

 

4、總結

總的來說業(yè)務分層對于代碼規(guī)范是比較重要,決定著以后的代碼是否可復用,是否職責清晰,邊界清晰。

當然這種分層其實見仁見智, 團隊中的所有人的分層習慣也不同,所以很難權衡出一個標準的準則,總的來說只要滿足職責邏輯清晰,后續(xù)維護容易,就是好的分層。

最后,如果你的團隊有更好的分層,或者上面所描述的有什么錯誤的地方還請留言指正一下。

責任編輯:武曉燕 來源: 泥瓦匠BYSocket
相關推薦

2022-10-09 18:39:46

分層代碼復用

2022-02-16 10:25:36

邊緣計算數(shù)據(jù)中心網(wǎng)絡

2023-03-05 18:40:39

iptables防火墻軟件

2021-03-24 09:23:45

代碼阿里應用分層

2020-09-08 06:54:29

Java Gradle語言

2023-07-06 13:56:14

微軟Skype

2025-02-18 00:00:05

vue后端權限

2018-05-16 08:58:04

用戶畫像存儲

2021-07-16 11:48:26

模型 .NET微軟

2023-09-20 23:01:03

Twitter算法

2021-12-06 09:43:01

鏈表節(jié)點函數(shù)

2021-03-01 18:37:15

MySQL存儲數(shù)據(jù)

2023-09-27 16:39:38

2021-08-01 09:55:57

Netty時間輪中間件

2024-10-28 21:02:36

消息框應用程序

2020-12-29 05:33:40

TomcatSpringBoot代碼

2023-03-31 09:29:18

代碼量統(tǒng)計代碼增刪

2020-11-27 08:17:41

FileSaver瀏覽器

2019-06-12 05:51:59

智慧城市人臉識別互聯(lián)網(wǎng)

2020-01-03 11:04:54

安全測試滲透
點贊
收藏

51CTO技術棧公眾號

91久久精品一区二区三区| 91亚洲精品乱码久久久久久蜜桃| 精品久久久av| 中文字幕第3页| 制服诱惑亚洲| 亚洲欧美另类在线| 久久狠狠久久综合桃花| 一本色道久久综合熟妇| 亚洲福利电影| 日韩在线中文字| 国产极品一区二区| 国产三级一区| 欧美午夜丰满在线18影院| 亚洲精品视频一二三| 十八禁一区二区三区| 精品一区二区三区久久| 91精品国产网站| h色网站在线观看| 中文字幕亚洲影视| 日韩欧美国产不卡| www.99av.com| 欧亚av在线| 亚洲欧美日韩国产手机在线 | 成人av一区二区三区| 国产精品久久久久久五月尺| 国产第100页| 国产精品99久久| 亚洲欧美在线一区二区| 无码人妻aⅴ一区二区三区玉蒲团| 精品无人乱码一区二区三区 | 国产精品伊人久久| 老司机免费视频久久| 久久久久久久久久久亚洲| 精品少妇一区二区三区密爱| 精品72久久久久中文字幕| 欧美成人福利视频| 天美一区二区三区| 国产亚洲精彩久久| 在线观看免费亚洲| 无码人妻精品一区二区三区在线| 亚洲欧美成人影院| 亚洲色图一区二区三区| 亚洲成色www久久网站| 亚洲av电影一区| www.一区二区| 精品999在线观看| 手机看片福利永久| av在线不卡电影| 激情五月综合色婷婷一区二区| 性色av蜜臀av| 国产成人av影院| 91在线视频九色| 国产孕妇孕交大片孕| 久久成人久久鬼色| 成人精品网站在线观看| 91在线精品入口| 久草精品在线观看| 成人信息集中地欧美| 亚洲综合五月天婷婷丁香| 日韩av一区二区在线影视| 国产91精品在线播放| 国产一级片毛片| 亚洲欧美日韩国产一区二区| 青青久久av北条麻妃黑人| 国产大片中文字幕| 性欧美xxxx大乳国产app| 欧洲亚洲免费在线| 天堂网一区二区| 美女视频一区二区| 91天堂在线观看| 黑人乱码一区二区三区av| 成人av资源在线| 欧美黑人xxxxx| 2019中文字幕在线视频| 亚洲欧美一区二区三区极速播放| 亚洲国产一二三精品无码| 超碰97免费在线| 一本一道综合狠狠老| 日韩一区二区三区不卡视频| 亚洲欧洲日韩精品在线| 日韩欧美国产1| 人妻大战黑人白浆狂泄| 日韩久久久久| 欧美黄色性视频| 欧美日韩综合一区二区三区| 久久国产精品色婷婷| 成人av资源网| 第一页在线观看| 亚洲精品美腿丝袜| aa在线免费观看| 91精品亚洲一区在线观看| 亚洲成人网在线观看| av女人的天堂| 欧美在线黄色| 国产成人jvid在线播放| 国产精品爽爽久久久久久| 99热在这里有精品免费| 一个色的综合| 黄色综合网址| 日韩三级.com| 日本理论中文字幕| 伊人久久大香线蕉综合热线 | 国产白丝袜美女久久久久| 日韩网站中文字幕| 精品福利av导航| 真实乱视频国产免费观看| 欧美.www| 国产精品视频xxx| 天堂中文网在线| 国产精品福利一区二区三区| 国产网站免费在线观看| 高清国产一区二区三区四区五区| 亚洲精品少妇网址| 国产十六处破外女视频| 日韩电影一区二区三区四区| 国产精品久久久久久久久婷婷| 色网站免费在线观看| 欧美日韩国产色视频| 国产男女无遮挡猛进猛出| 国内亚洲精品| 欧美一级免费看| 国产 欧美 精品| 亚洲天堂2016| 国产视频手机在线播放| 欧美人妖在线观看| 欧美精品精品精品精品免费| 国产免费黄色网址| 国产嫩草影院久久久久| 免费国产a级片| 亚洲日本va| 久久成人在线视频| 91片黄在线观看喷潮| 久久精品日产第一区二区三区高清版| 日韩极品视频在线观看| 国产精品亚洲综合在线观看| 中国人与牲禽动交精品| 神马久久久久久久 | 69堂亚洲精品首页| jizz日本在线播放| 日本中文字幕一区二区视频| 久久久久久久久一区| rebdb初裸写真在线观看| 欧美成人video| 久久久久人妻一区精品色欧美| 精品一区二区三区日韩| 一区精品视频| 91视频成人| 久久久99免费视频| 国产婷婷在线视频| 一区二区三区波多野结衣在线观看| 中文字幕国产高清| 中文字幕一区二区三区乱码图片| 成人国产亚洲精品a区天堂华泰| 欧美成人三区| 欧美精品色一区二区三区| 国产又黄又粗又猛又爽的| 另类专区欧美蜜桃臀第一页| 在线观看成人av| 精品一区二区三区中文字幕| 久久久精品美女| 超碰在线观看av| 亚洲成av人在线观看| 欧美丰满少妇人妻精品| 久久精品女人| 亚洲高清精品中出| 日韩最新av| 91国产精品电影| 国模精品一区二区| 欧美日韩亚洲国产综合| 日韩欧美123区| 播五月开心婷婷综合| 鲁一鲁一鲁一鲁一色| 精品国产一区二区三区香蕉沈先生 | 日韩一卡二卡三卡四卡| 久久精品美女视频| 久久久蜜桃精品| 在线免费看污网站| 亚洲三级观看| 日韩欧美一区二区视频在线播放| 免费视频观看成人| 欧美大片在线影院| 青青久草在线| 91精品视频网| 国产微拍精品一区| 国产精品久久毛片| 日本女人性视频| 男人的天堂亚洲| 一级黄色片播放| 综合干狼人综合首页| 91精品国产自产在线观看永久| 国产白丝在线观看| 夜夜躁日日躁狠狠久久88av| 亚洲av无码片一区二区三区| 91久久免费观看| 久草视频在线资源站| 国产偷国产偷亚洲高清人白洁| 欧美激情第四页| 久久综合五月| 女人色极品影院| 久久国产成人精品| 精品乱色一区二区中文字幕| 久久精品国产精品亚洲毛片| 国内精品久久影院| www.在线视频| 一本大道亚洲视频| 天堂在线观看免费视频| 欧美日韩亚洲丝袜制服| 中文字幕视频网| 一卡二卡三卡日韩欧美| 国产综合精品久久久久成人av| 成人一二三区视频| 亚欧美在线观看| 久久精品免费| 成人午夜精品久久久久久久蜜臀| 国产精品二区不卡| 日韩精品一区二区三区色偷偷| 成人av综合网| 91福利视频导航| 国产a亚洲精品| 国产成人高清激情视频在线观看| 久久av色综合| 欧美成人四级hd版| 国产秀色在线www免费观看| 亚洲一级片在线看| 手机亚洲第一页| 亚洲精品一区二区三区蜜桃下载 | 中文字幕在线播| 亚洲成人黄色影院| 久久久香蕉视频| 亚洲欧洲制服丝袜| 黄色录像二级片| 中文字幕欧美一| 99re6热在线精品视频| 欧美激情自拍偷拍| 色哟哟精品观看| 久久理论电影网| 插吧插吧综合网| 97久久精品人人做人人爽50路| 亚洲少妇18p| 91香蕉视频污| 中文字幕丰满孑伦无码专区| 99精品黄色片免费大全| 国产麻豆xxxvideo实拍| 成人激情视频网站| 五十路六十路七十路熟婆 | 欧美美女bb生活片| 亚洲影视一区二区| 欧美群妇大交群中文字幕| 中文字幕观看视频| 日韩欧美中文免费| av毛片在线免费观看| 欧美在线你懂得| 中文天堂在线视频| 欧美日韩国产高清一区| 中文亚洲视频在线| 男人的天堂一区| 岛国视频午夜一区免费在线观看| 精品91久久久| 色久优优欧美色久优优| 无码人妻精品一区二区三区蜜桃91| 色婷婷久久久久swag精品| 国产精品久久久久久久久久久久久久久久久 | 一区二区三区在线视频免费观看| 免费中文字幕在线| 亚洲成人资源在线| 日韩视频在线观看一区| 在线免费观看日韩欧美| 亚洲一卡二卡在线观看| 日韩手机在线导航| 天天操天天射天天| 亚洲香蕉在线观看| caoporn免费在线视频| 久久久在线免费观看| 成人欧美magnet| 国产精品爽爽爽爽爽爽在线观看| 精品国产鲁一鲁****| 国产亚洲欧美一区二区三区| 在线日本制服中文欧美| 婷婷视频在线播放| 99re国产精品| 亚洲精品20p| 成人午夜电影小说| 永久免费毛片在线观看| 亚洲综合免费观看高清在线观看| 欧美一级特黄视频| 欧美精品久久久久久久多人混战| 乱色精品无码一区二区国产盗| 亚洲人成电影网站色xx| av免费在线观看网站| 欧美与欧洲交xxxx免费观看| 日韩综合av| 久久精品国产综合精品| 99热国内精品| 波多野结衣家庭教师在线播放| 看国产成人h片视频| av av在线| 国产精品久久久久天堂| 日韩欧美性视频| 欧美精品xxxxbbbb| 天堂在线免费av| 欧美成人精品xxx| 国产91欧美| 老牛影视免费一区二区| 欧美色123| 99九九99九九九99九他书对| 91色视频在线| 国产1区2区3区4区| 欧美三级韩国三级日本三斤| 天天干天天色天天| 久久成人这里只有精品| 成人黄色免费观看| 久久一区二区精品| 欧美视频成人| 国产高清999| 国产精品午夜春色av| 激情五月色婷婷| 日韩精品一区二区三区三区免费| 亚洲欧美视频一区二区| 日韩免费视频在线观看| 成人直播在线观看| 久久免费一级片| 激情六月婷婷久久| www亚洲色图| 欧洲精品在线观看| 国产一级片在线播放| 97香蕉超级碰碰久久免费软件| 日本成人精品| 永久免费网站视频在线观看| 久久99在线观看| 精品熟妇无码av免费久久| 欧美日韩一区二区在线播放| 三级网站在线看| 久久全球大尺度高清视频| 精品久久免费| 麻豆一区二区三区在线观看| 精品一二三四在线| 国产喷水在线观看| 在线成人免费观看| 久久99精品久久| 成人激情黄色网| 国产精品7m凸凹视频分类| 性生活免费在线观看| 国产精品电影一区二区| 91精品国产综合久| 麻豆国产精品va在线观看不卡| 亚洲高清国产拍精品26u| 欧美一区二区在线| 日本在线不卡视频| 国产又粗又猛又爽又黄的视频四季| 精品视频一区三区九区| av小片在线| 91中文字幕在线观看| 欧美日韩亚洲三区| 艳妇乳肉豪妇荡乳xxx| 无吗不卡中文字幕| 黄色美女网站在线观看| 国产精品成人一区二区| 色综合蜜月久久综合网| 亚欧精品在线视频| 亚洲一区二区三区视频在线| 黄色片一区二区三区| 欧美做受高潮1| 激情五月色综合国产精品| 天堂网在线免费观看| 一区二区三区在线观看网站| 日本xxxxwww| 日本免费久久高清视频| 欧美gay男男猛男无套| 国内国产精品天干天干| 亚洲一区免费视频| 天天在线女人的天堂视频| 国产精品亚洲片夜色在线| 亚洲人体av| 亚洲国产精品成人综合久久久| 色综合色狠狠天天综合色| www.91在线| 亚洲综合社区网| 国产一区二区你懂的| 卡一卡二卡三在线观看| 欧美一区二区三区啪啪| 92久久精品| 亚洲欧美影院| 粉嫩av一区二区三区在线播放| 香蕉影院在线观看| 久久久极品av| 日韩三级毛片| 国产精品探花在线播放| 欧美日韩国产精品| caoporn97在线视频| 欧美精品一区二区三区在线看午夜| 精品在线视频一区| 在线天堂中文字幕| 欧美精品在线第一页| 国产一区二区亚洲| 久久久久久久久久影视| 欧美性受xxxx| 亚洲天堂手机| 最新av网址在线观看| 国产欧美日韩综合| 黄色三级网站在线观看|