Суть в том чтобы все get-ы и set-ы BO работали с DTO, а не приватными мемберами соответствующих свойств BO.
DTO представяет собой простую структуру (OrderDTO).
Плюсы очевидны:
+ BO не загромождены приватными членами свойств, код зрительно более приятный.
+ Не требуется (или минимальный) маппинг BO->DTO для передачи DTO сервисам и DataAccessLayer-у, так же отпадает необходимость реализации всяких criteria-паттернов (like criteria in CSLA.NET).
Вопрос:
А какие минусы или подводные камни у такого подхода?
Могут ли здесь возникнуть сложности при использовании mapper-helper-ов, того же BusinessToolKit-а?
public struct OrderDTO
{
public int OrderID;
public System.DateTime OrderDate;
}
public class Order
{
private OrderDTO data;
public System.DateTime OrderDate
{
get
{
return data.OrderDate;
}
set
{
data.OrderDate = value;
}
}
}
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>