時(shí)間:2023-06-13|瀏覽:235
首先,讓我分別介紹一下這些概念,希望能讓你更深入地了解它們。
POJO即Plain Ordinary Java Object,是一種簡(jiǎn)單普通的Java對(duì)象。一般用于把數(shù)據(jù)層映射到數(shù)據(jù)庫(kù)表的類(lèi)中,類(lèi)的屬性與表字段一一對(duì)應(yīng)。
PO(Persistant Object) 全稱(chēng)為持久化對(duì)象,可以理解為數(shù)據(jù)庫(kù)中的一條數(shù)據(jù)即一個(gè)BO對(duì)象,也可以理解為POJO經(jīng)過(guò)持久化后的對(duì)象。
DTO(Data Transfer Object)是數(shù)據(jù)傳輸對(duì)象的縮寫(xiě),通常用于向數(shù)據(jù)層外圍提供需要的數(shù)據(jù)。例如,從查詢(xún)一個(gè)擁有50個(gè)字段的表中摘取一些字段來(lái)使用,使用DTO來(lái)封裝這些字段的傳輸,既能隱藏?cái)?shù)據(jù)層字段定義,也可以提高系統(tǒng)性能,減少不必要字段的傳輸損耗。
DAO(Data Access Object)是數(shù)據(jù)訪問(wèn)對(duì)象,是連接數(shù)據(jù)庫(kù)與外部的橋梁,并且負(fù)責(zé)持久化數(shù)據(jù)層對(duì)象。
BO(Business Object)是業(yè)務(wù)對(duì)象,常用于處理業(yè)務(wù)邏輯,當(dāng)業(yè)務(wù)比較復(fù)雜時(shí),使用BO來(lái)組合封裝所有的對(duì)象,以便一并傳遞和處理。
VO(Value Object)有的也稱(chēng)為View Object,即值對(duì)象或頁(yè)面對(duì)象。通常用于Web層向View層提供需要展示的數(shù)據(jù)。
綜上所述,這些概念在實(shí)際使用設(shè)計(jì)中,并不需要全部使用,你可以根據(jù)不同的設(shè)計(jì)架構(gòu)定義不同的類(lèi)對(duì)象,形態(tài)可能會(huì)有所不同。但一般各層之間要盡量保持低耦合,避免相互依賴(lài),例如Web層不要引用DAO層或服務(wù)實(shí)現(xiàn)層中的類(lèi)。這樣可以避免過(guò)度依賴(lài),以后能夠靈活地應(yīng)對(duì)分布式部署等變化。