Search code examples
model-view-controlleroopmulti-tier

Whats the difference between Entities, Business Objects, Data Transfer Objects and Business Model Objects?


Not able to get a clear distinction between these concepts that are used very often in multi-layered architecture.


Solution

  • To me:

    1) Entities/Business Objects/Business Model Objects - the actual objects (nouns) in the business domain. For example "Order" and "OrderItem". "Order" could have a property of "OrderDate", and function called "GetOrderItems"

    2) Data Transfer Objects - serializable property bag representations of your Entities. Using the example above, the function "GetOrderItems" would be missing from your "Order" DTO.