国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

聊一聊我們都熟知的“Java分層”

2019-11-14 15:13:14
字體:
供稿:網(wǎng)友

一、為什么要分層。

  以前的我們,寫代碼的時候,都在main()方法中,出現(xiàn)了錯誤,就慢慢調(diào)試,這樣浪費了我們很長的時間,而我們程序員的時間是非常寶貴的

但是當(dāng)我們使用分層架構(gòu)的時候,就可以清晰明確的知道錯誤出在哪里,或者在公司中,基本都是使用分層架構(gòu)的,因為那樣可以分離我們程序員的

關(guān)注,更為簡潔。

二、分層帶來了哪些好處。

     其實帶來了很多好處,首先,方便維護和分離關(guān)注點,就不談了。

1.便于更改或替換。

先說說便于替換或者更新,我現(xiàn)在用的數(shù)據(jù)庫SQLServer數(shù)據(jù)庫,如果我需要

將數(shù)據(jù)庫更換為MySQL,如果增刪改查的語法一致的情況下,我們只需要更改BaseDao工具類的連接字符串,而不用更改其它層的代碼。

2.實現(xiàn)了軟件之間的解耦

就是每個部分獨立變化。舉個簡單的例子,畫一個三角形和畫一個文字,在DXOpenGL下面用的是截然不同的方法(不僅僅是函數(shù)名不一樣)。

但是你哪一天你發(fā)現(xiàn),你愛用DX還是OpenGL,絲毫不影響你如何畫三角形還是文字,愛畫什么畫什么,那么你畫的東西跟你畫的手段就解耦了。

這個解耦的方法就是在中間插入一層interface

孔子曰,軟件的所有問題都可以通過增加一層interface來解決。你的團隊越大,需求變化越快,你越要保證程序員之間的依賴關(guān)系越少,

你的軟件解耦的就越好,interface就越多,關(guān)系就越復(fù)雜(跟亂不一樣),應(yīng)付變化就越容易,錢賺的就越多,越穩(wěn)定。

3.做提高軟件組件的重用

在軟件開發(fā)中,由于不同的環(huán)境和功能要求,我們可以通過對以往成熟軟件系統(tǒng)的局部修改和重組,保持整體穩(wěn)定性,以適應(yīng)新要求。

這樣的軟件稱為可重(chong)用軟件。

三、分層的架構(gòu)和解析。

可大致分為:

 

DAO:該層分為接口和他的實現(xiàn)類來實現(xiàn)功能,dao子目錄只提供對外接口,而他的實現(xiàn)類要放到數(shù)據(jù)訪問層,就是impl層。

DTO: 

Data Transfer Object 數(shù)據(jù)傳輸對象 
主要用于遠程調(diào)用等需要大量傳輸對象的地方。 
比如我們一張表有 100 個字段,那么對應(yīng)的 PO 就有 100 個屬性。 
但是我們界面上只要顯示 10 個字段, 
客戶端用 WEB service 來獲取數(shù)據(jù),沒有必要把整個 PO 對象傳遞到客戶端, 
這時我們就可以用只有這 10 個屬性的 DTO 來傳遞結(jié)果到客戶端,這樣也不會暴露服務(wù)端表結(jié)構(gòu) .

到達客戶端以后,如果用這個對象來對應(yīng)界面顯示,那此時它的身份就轉(zhuǎn)為 VO

 DAO和DTO的區(qū)別:

DAO :數(shù)據(jù)訪問對象 —— 同時還有 DAO 模式 
DTO :數(shù)據(jù)傳輸對象 —— 同時還有 DTO 模式

BIZ:業(yè)務(wù)邏輯層,跟dao層一樣只提供共接口。

Model:實體層,用于讀、取數(shù)據(jù)。

javaBian:javaBean在MVC設(shè)計模型中是model,又稱模型層,在一般的程序中,我們稱它為數(shù)據(jù)層,就是用來設(shè)置數(shù)據(jù)的屬性和一些行為,然后我會提供獲取屬性和設(shè)置屬性的get/set方法

 

 

Servlet:用于跟jsp頁面進行交互

POJO:(plain ordinary java object) 簡單無規(guī)則 java 對象 純的傳統(tǒng)意義的 java 對象。就是說在一些 Object/Relation Mapping 工具中,能夠做到維護數(shù)據(jù)庫表記錄的 persisent 

object 完全是一個符合 Java Bean 規(guī)范的純 Java 對象,沒有增加別的屬性和方法。我的理解就是最基本的 Java Bean ,只有屬性字段及 setter 和 getter 方法!。 


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 饶平县| 观塘区| 精河县| 灌云县| 福鼎市| 阿克陶县| 遵义市| 兴安盟| 比如县| 高邮市| 恩施市| 德州市| 密山市| 永登县| 定远县| 辽源市| 曲阳县| 保山市| 河东区| 全州县| 静海县| 南昌市| 穆棱市| 内乡县| 平果县| 新龙县| 米泉市| 云龙县| 罗甸县| 大荔县| 永登县| 平阴县| 北辰区| 新田县| 敖汉旗| 蓬莱市| 当涂县| 青岛市| 平顺县| 边坝县| 南充市|