Actually i’m pretty confused about this terms and how they relate to each other. A read something about every one of them but i don’t uderstant the work flow..

DTO – Data transfer object – object to transport values
BO Business object – object in domain model. object to make Business logic with
POCO – no idea, i’ve read a definition on wiki but didn’t understood anything
DAO – data access object – object to map the DB table ?

Could someone please bring some light into it for me ?

Separation of concerns – DAO, DTO, and BO

So I have a DAO, DTO, and BO. The following code is the result: // Instantiate a new user repository. UserRepository rep = new UserRepository(); // Retrieve user by ID (returns DTO) and convert to bus


POCO = Plain Old CLR (or better: Class) Object DTO = Data Transfer Object In this post there is a difference, but frankly most of the blogs I read describe POCO in the way DTO is defined: DTOs are sim

DAO & BO (data access layer) – architecture

I’m a little bit confused about an example found on the web – spring & hibernate (point 4. Model & BO & DAO). There are Model, DAO and BO classes (+ DAO and BO interfaces). What I do not c

DTO POCO conversion

I have several DTO and corresponding POCOs. What is the recommended way to convert between them and where to locate the conversion function. My original idea is to put two conversion functions in POCO

What is a DTO and BO? What is the difference?

I know DTO is a data transfer object and a BO is a business object. But, what does it actually mean? When should I choose one over the other? From, what I understand DTO is just used to transfer data

The N-Layer POCO/ DTO quandary

When there were only evil datasets and the microsoft application blocks your transfer objects between layers would be either datasets/datatables or DTO/POCO. I belong to the gang that likes using DTO/

EF POCO DTO WCF Adapter pattern

So I’m starting to look into using the EF with POCO and transfering DTO over the wire to client of my WCF. Looks like it’s a good architectural design to go with DTO instead of sending POCO over to t

BO <=> DTO mapper in Java

I am currently in my application maping DTOs to BO (and vice versa) manually. However, this approach is awkward and clumsy. Is there any good mapper between these two representations? My requirements

DTO and DAO concepts and MVC [closed]

1) Why do we use DTO and DAO, and when should we use them. I am developing a GUI Java software to do with inserting, editing, deleting data. But I am struggling to distinguish between DTO/DAO and Mode

POCO’s, DTO’s, DLL’s and Anaemic Domain Models

I was looking at the differences between POCO and DTO (It appears that POCO’s are dto’s with behaviour (methods?))and came across this article by Martin Fowler on the anaemic domain model. Through la


  • DTO: Data Transfer Object, used to transfer data between loosly coupled services
  • POCO: Plain Old Clr Object, normal CLR object doesn’t use any attributes or required inheritance to act as a DAO/DTO
  • BO: Business Object, contains business logic, used in the Business Logic part of your solution
  • DAO: Data Access Object, used to transfer data from your database

So a regular workflow would be to request data from a service, which is sent to your app as a DTO, you convert it to a BO to manipulate it and send it back as a DTO or after converting it to a DAO store it in a database.

You use the different object to separate concerns between the 3 types, a BO doesn’t need to know whether it’s persisted using a database or a service.

Timeline based scaffolding:

  • Batch => Stored Procedure => “plain old clr object” => npmagenda

  • Socket => ODBC => “data access object” => NoSQL

  • CSV => XML => “data transfer object” => JSON

  • FTP => CGI => “business object” => AJAX