架構師必需要清楚的概念:POJO、PO、DTO、BO、VO

POJO、PO、DTO、DAO、BO、VO這些概念作為Java開發來說應該全部或者部分遇到過,作為架構師的你想必更是清楚這些概念在不同場景的應用。

下面我逐一介紹一下,想必你會更深刻。

POJO

全稱為:Plain Ordinary JavaObject,即簡單普通的java對象。一般用在數據層映射到資料庫表的類,類的屬性與表欄位一一對應。

PO

全稱為:PersistantObject,即持久化對象。可以理解為資料庫中的一條數據即一個BO對象,也可以理解為POJO經過持久化后的對象。

DTO

全稱為:Data TransferObject,即數據傳輸對象。一般用於向數據層外圍提供僅需的數據,如查詢一個表有50個欄位,界面或服務只需要用到其中的某些欄位,DTO就包裝出去的對象。可用於隱藏數據層欄位定義,也可以提高系統性能,減少不必要欄位的傳輸損耗。

Advertisements

DAO

全稱為:Data AccessObject,即數據訪問對象。就是一般所說的DAO層,用於連接資料庫與外層之間的橋樑,並且持久化數據層對象。

BO

全稱為:BusinessObject,即業務對象。一般用在業務層,當業務比較複雜,用到比較多的業務對象時,可用BO類組合封裝所有的對象一併傳遞。

VO

全稱為:Value Object,有的也稱為ViewObject,即值對象或頁面對象。一般用於web層向view層封裝並提供需要展現的數據。

總結

這些定義在實際使用設計中並不會全部用到,根據不同設計架構定義不同的類對象,形態大致如此,可根據自己項目進行調整。一般各層之間要盡量保持低耦合,不要相互依賴,如web盡量不要引用dao層或服務實現層中的類,在單應用中不會有問題,如果哪天做分散式部署,需要做重構,這些過度依賴將會是十分讓人蛋疼的問題。

Advertisements

關注我的頭條號,每天一篇乾貨,進步不是一點點!

Advertisements

你可能會喜歡