и транспортная структура - может быть обычный массив или класс только со свойствами
хехе, я в самом начале угу ещё сказал, что всё в жизни сложнее.
у меня в текущем проекте на работе иерархия такая:
- контроллер работает с сервисом
- сервис работает с репозиторием (репозиторий - это класс, который умеет извлекать данные, согласно всяких хитрых условий. причём он оперирует только условиями, о самом персистентном хранилище он не знает ничего)
- репозиторий работает с датаконтекстом (датаконтекст - у меня это datacontext из linq2sql, т.е. класс, который умеет сохранять данные непосредственно в хранилище, и извлекать согласно правилам, которые задали)
и сущности:
- linq2sql entities (сами сущности linq2sql, на которые отображаются записи БД)
- domain model entity (это сущность в терминах бизнес-логики)
Контроллеры/Сервис/Вьюшки оперируют DM Entity.
Репозиторий - знает о тех и других. При операциях извлечения конвертирует l2s E в DM Entity , при операциях модификации - наоборот.
Датаконтекст - работает только с l2s Entity.