1. 程式人生 > >java基礎總結(二十六)--java的幾種物件(po,dto,dao等)

java基礎總結(二十六)--java的幾種物件(po,dto,dao等)

j2ee中,經常提到幾種物件(object),理解他們的含義有助於我們更好的理解面向物件的設計思維。      POJO(plain old java object):普通的java物件,有別於特殊的java物件(含繼承約束等)和EJB。POJO一般只有一系列的屬性和相應的get、set方法。      PO(persistant object):持久化物件,有別於POJO,必須對應資料庫中的實體。一個PO對應資料庫的一條記錄。持久化物件的生命週期與資料庫密切相關,只能存在於connection之中,連線關閉後,PO就消失了。      PO相對於POJO有諸多不同,比如PO中會有儲存資料庫entity狀態的屬性和方法。但是ORM(object-relation mapping)追求的目標是PO和POJO的一致,所以在程式設計師的日常開發中,都是將POJO作為PO使用,而將POJO轉化為PO的功能交給hibernate等框架來實現。      DTO(data transfer object):資料傳輸物件,以前被稱為值物件(VO,value object),作用僅在於在應用程式的各個子系統間傳輸資料,在表現層展示。與POJO對應一個數據庫實體不同,DTO並不對應一個實體,可能僅儲存實體的部分屬性或加入符合傳輸需求的其他的屬性。      DAO(data access object):資料訪問物件。提供訪問資料庫的抽象介面,或者持久化機制,而不暴露資料庫的內部詳細資訊。DAO提供從程式呼叫到持久層的匹配。      BO(business object):業務物件。主要是將業務邏輯封裝為一個物件,該物件可以包含一個或多個其他物件。如,"Principal"(委託人),有"Name","Age"等屬性,同時和"Employee"(僱員)有1對多的關係,這個"Principal"就可以作為一個與業務相關的PO。