程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> 聊一聊我們都熟知的 “ Java分層 ”,熟知java分層

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

編輯:JAVA綜合教程

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


一、為什麼要分層。

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

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

關注,更為簡潔。

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

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

1.便於更改或替換。

先說說便於替換或者更新,我現在用的數據庫是SQLServer數據庫,如果我需要

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

2.實現了軟件之間的解耦

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

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

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

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

你的軟件解耦的就越好,interface就越多,關系就越復雜(跟亂不一樣),應付變化就越容易,錢賺的就越多,越穩定。

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

在軟件開發中,由於不同的環境和功能要求,我們可以通過對以往成熟軟件系統的局部修改和重組,保持整體穩定性,以適應新要求。

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

三、分層的架構和解析。

可大致分為:

 

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

DTO: 

Data Transfer Object 數據傳輸對象 
主要用於遠程調用等需要大量傳輸對象的地方。 
比如我們一張表有 100 個字段,那麼對應的 PO 就有 100 個屬性。 
但是我們界面上只要顯示 10 個字段, 
客戶端用 WEB service 來獲取數據,沒有必要把整個 PO 對象傳遞到客戶端, 
這時我們就可以用只有這 10 個屬性的 DTO 來傳遞結果到客戶端,這樣也不會暴露服務端表結構 .

到達客戶端以後,如果用這個對象來對應界面顯示,那此時它的身份就轉為 VO

 DAO和DTO的區別:

DAO :數據訪問對象 —— 同時還有 DAO 模式 
DTO :數據傳輸對象 —— 同時還有 DTO 模式

BIZ:業務邏輯層,跟dao層一樣只提供共接口。

Model:實體層,用於讀、取數據。

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

 

 

Servlet:用於跟JSP頁面進行交互

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

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved