應(yīng)用分層

  1. 圖中默認(rèn)上層依賴于下層,箭頭關(guān)系表示可直接依賴,如:開(kāi)放接口層可以依賴于Web 層夏漱,也可以直接依賴于 Service 層呈昔,依此類(lèi)推:



    ? 開(kāi)放接口層:可直接封裝 Service 方法暴露成 RPC 接口;通過(guò) Web 封裝成 http 接口蝶念;進(jìn)行網(wǎng)關(guān)安 全控制抛腕、流量控制等。
    ? 終端顯示層:各個(gè)端的模板渲染并執(zhí)行顯示的層媒殉。當(dāng)前主要是 velocity 渲染担敌,JS 渲染,JSP 渲染廷蓉,移動(dòng)端展示等全封。
    ? Web 層:主要是對(duì)訪問(wèn)控制進(jìn)行轉(zhuǎn)發(fā),各類(lèi)基本參數(shù)校驗(yàn)桃犬,或者不復(fù)用的業(yè)務(wù)簡(jiǎn)單處理等刹悴。 ? Service 層:相對(duì)具體的業(yè)務(wù)邏輯服務(wù)層。
    ? Manager 層:通用業(yè)務(wù)處理層攒暇,它有如下特征:
    1) 對(duì)第三方平臺(tái)封裝的層土匀,預(yù)處理返回結(jié)果及轉(zhuǎn)化異常信息。
    2) 對(duì) Service 層通用能力的下沉形用,如緩存方案就轧、中間件通用處理。
    3) 與 DAO 層交互田度,對(duì)多個(gè) DAO 的組合復(fù)用钓丰。
    ? DAO 層:數(shù)據(jù)訪問(wèn)層,與底層 MySQL每币、Oracle携丁、Hbase 等進(jìn)行數(shù)據(jù)交互。
    ? 外部接口或第三方平臺(tái):包括其它部門(mén) RPC 開(kāi)放接口,基礎(chǔ)平臺(tái)梦鉴,其它公司的 HTTP 接口李茫。

2.(分層異常處理規(guī)約)在 DAO 層,產(chǎn)生的異常類(lèi)型有很多肥橙,無(wú)法用細(xì)粒度的異常進(jìn)行 catch魄宏,使用 catch(Exception e)方式,并 throw new DAOException(e)存筏,不需要打印日志宠互,因?yàn)槿罩驹?Manager/Service 層一定需要捕獲并打印到日志文件中去,如果同臺(tái)服務(wù)器再打日志椭坚,浪費(fèi)性能和存儲(chǔ)予跌。在 Service 層出現(xiàn)異常時(shí),必須記錄出錯(cuò)日志到磁盤(pán)善茎,盡可能帶上參數(shù)信息券册,相當(dāng)于保護(hù)案發(fā)現(xiàn)場(chǎng)。如果 Manager 層與 Service 同機(jī)部署垂涯,日志方式與 DAO 層處理一致烁焙,如果是單獨(dú)部署,則采用與 Service 一致的處理方式耕赘。Web 層絕不應(yīng)該繼續(xù)往上拋異常骄蝇,因?yàn)橐呀?jīng)處于頂層,如果意識(shí)到這個(gè)異常將導(dǎo)致頁(yè)面無(wú)法正常渲染操骡,那么就應(yīng)該直接跳轉(zhuǎn)到友好錯(cuò)誤頁(yè)面乞榨,加上用戶容易理解的錯(cuò)誤提示信息。開(kāi)放接口層要將異常處理成錯(cuò)誤碼和錯(cuò)誤信息方式返回当娱。

  1. 分層領(lǐng)域模型規(guī)約:
    ? DO(Data Object):此對(duì)象與數(shù)據(jù)庫(kù)表結(jié)構(gòu)一一對(duì)應(yīng)吃既,通過(guò) DAO 層向上傳輸數(shù)據(jù)源對(duì)象。
    ? DTO(Data Transfer Object):數(shù)據(jù)傳輸對(duì)象跨细,Service 或 Manager 向外傳輸?shù)膶?duì)象鹦倚。
    ? BO(Business Object):業(yè)務(wù)對(duì)象,由 Service 層輸出的封裝業(yè)務(wù)邏輯的對(duì)象冀惭。
    ? AO(Application Object):應(yīng)用對(duì)象震叙,在 Web 層與 Service 層之間抽象的復(fù)用對(duì)象模型,極為貼近展示層散休,復(fù)用度不高媒楼。
    ? VO(View Object):顯示層對(duì)象,通常是 Web 向模板渲染引擎層傳輸?shù)膶?duì)象戚丸。
    ? Query:數(shù)據(jù)查詢對(duì)象划址,各層接收上層的查詢請(qǐng)求扔嵌。注意超過(guò) 2 個(gè)參數(shù)的查詢封裝,禁止使用 Map 類(lèi)來(lái)傳輸夺颤。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末痢缎,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子世澜,更是在濱河造成了極大的恐慌独旷,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,539評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件寥裂,死亡現(xiàn)場(chǎng)離奇詭異嵌洼,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)封恰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門(mén)麻养,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人俭驮,你說(shuō)我怎么就攤上這事回溺〈好常” “怎么了混萝?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,871評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)萍恕。 經(jīng)常有香客問(wèn)我逸嘀,道長(zhǎng),這世上最難降的妖魔是什么允粤? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,963評(píng)論 1 295
  • 正文 為了忘掉前任崭倘,我火速辦了婚禮,結(jié)果婚禮上类垫,老公的妹妹穿的比我還像新娘司光。我一直安慰自己,他們只是感情好悉患,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布残家。 她就那樣靜靜地躺著,像睡著了一般售躁。 火紅的嫁衣襯著肌膚如雪坞淮。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,763評(píng)論 1 307
  • 那天陪捷,我揣著相機(jī)與錄音回窘,去河邊找鬼。 笑死市袖,一個(gè)胖子當(dāng)著我的面吹牛啡直,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,468評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼付枫,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼烹玉!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起阐滩,我...
    開(kāi)封第一講書(shū)人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤二打,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后掂榔,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體继效,經(jīng)...
    沈念sama閱讀 45,850評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評(píng)論 3 338
  • 正文 我和宋清朗相戀三年装获,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了瑞信。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,144評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡穴豫,死狀恐怖凡简,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情精肃,我是刑警寧澤秤涩,帶...
    沈念sama閱讀 35,823評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站司抱,受9級(jí)特大地震影響筐眷,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜习柠,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評(píng)論 3 331
  • 文/蒙蒙 一匀谣、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧资溃,春花似錦武翎、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,026評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至暖途,卻和暖如春卑惜,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背驻售。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,150評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工露久, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留欺栗,地道東北人征峦。 一個(gè)月前我還...
    沈念sama閱讀 48,415評(píng)論 3 373
  • 正文 我出身青樓臊泰,卻偏偏與公主長(zhǎng)得像缸逃,于是被迫代替她去往敵國(guó)和親需频。 傳聞我的和親對(duì)象是個(gè)殘疾皇子昭殉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評(píng)論 2 355