| 縮寫 | 全稱 | 核心定義 | 典型層級 |
|---|---|---|---|
| PO | Persistent Object | 持久化對象,與數據庫表 1:1 映射 (Hibernate/JPA Entity) | DAO/Repository |
| VO | Value Object | 值對象,不可變,無標識,如 Money、DateRange | 跨層傳值 |
| VO | View Object | 視圖對象,針對界面聚合數據,如 UserProfileVO | Controller → View |
| BO | Business Object | 業務對象,封裝業務規則/流程,組合 PO/VO | Service |
| DTO | Data Transfer Object | 數據傳輸對象,層間/進程間傳輸,貧血(僅字段+Getter/Setter) | Service ↔ Controller / RPC |
| POJO | Plain Old Java Object | 純舊 Java 對象,無框架侵入,廣義上包含上述所有 | 通用 |
| DAO | Data Access Object | 數據訪問對象,封裝 CRUD,隔離持久化邏輯 | DAO |
| Entity | 實體 | 領域驅動設計核心:擁有唯一標識、生命週期、業務行為 | Domain |
| JavaBean | — | 規範:public class、無參構造、私有字段+Getter/Setter、實現 Serializable | 通用組件 |
Database ←→ PO (DAO) ←→ BO (Service) ←→ DTO (Controller) ←→ VO (View)
↑
POJO (基礎形態)
publicpublic 無參構造器private,暴露 getXxx()/setXxx() (boolean 可用 isXxx())Serializable (用於分布式傳遞)BeanInfo / PropertyDescriptor 內省機制現代 Spring 生態中以 POJO + 注解 (@Entity, @Service, @Repository) 替代重量級 EJB。