另一種叫做Data Transfer Object(DTO),某些文獻稱其為“貧血實體類”,其特點是僅有屬性,不存在行為。這種實體類主要負責整體性傳遞數據。另外,與BO不同的是,DTO可以不抽象領域實體的全部屬性,而只根據需要抽象一部分。例如,某個“User”實體存在很多屬性,但如果某個方法僅需要其聯系方式,可以設計一個DTO,僅有id,email,address,phone等就夠了。在面向過程的設計和架構中,這種實體設計比較常見。
Active Record(以下簡稱AR)是一種面向對象的業務邏輯組織方式。AR適用於在業務較簡單的情況下,應用面向對象思想進行設計。它的基本思想就是將領域中每個實體抽象出一個業務類(BO),然後,將這個實體的數據和行為封裝成類的屬性和方法。特別的,將CRUD功能也封裝進BO中。也就是說,AR中的BO同時具備業務方法和持久化功能。其本身具有ORM的特性,其內部要處理關系實體間的關聯問題。
使用AR時,一般最好有相應框架支持,否則完全手工實現AR有點麻煩。像Castle框架中就有AR功能,Linq to sql也有AR的意思。使用AR後,一般不需要再單獨使用數據訪問層。