Подтвердить что ты не робот

Префикс DTO/POCOS - соглашения об именах?

простой вопрос на самом деле, я хотел знать, какие соглашения об именах кто-то называет DTO/POCOS....

Я не очень хотел префикса, как венгерская нотация. Я ушел от этого!

Но мои имена dtos сталкиваются с моими фактическими именами возвращаемых объектов и, хотя они находятся в другом пространстве имен, все еще немного запутывают.

Мне было интересно, какие соглашения об именах к нему применимы.

например, объект моего клиента называется Customer

и я делаю сопоставление с dto... которое является клиентом. iwas думает о DtoCustomer..

Не уверен

Кто-нибудь?

4b9b3361

Ответ 1

Я предпочитаю использовать пространства имен для этого. Использование псевдонимов пространства имен для этого делает его еще более понятным.

Это сделает код, который выглядит так:

Customer myCustomer = new Customer();
Dto.Customer dtoCustomer = ....;

Если я полностью работаю на уровне DTO, я все равно могу работать с "Заказчиком" на этом этапе.

Ответ 2

По моему опыту, DTO часто являются подмножествами или агрегатами данных, которые представляют ваши объекты домена. Обычно это происходит потому, что объекты домена являются богатыми, высоко взаимосвязанными, сложными объектами, которые имеют как поведение, так и данные. Таким образом, я пытаюсь назвать мой DTO, чтобы максимально отразить подмножество информации, которую они представляют. В случае с клиентами у меня часто есть DTO, которые точно настроены на запрашиваемую информацию:

  • CustomerHeader
  • CustomerDetail
  • CustomerWithRecentOrders
  • CustomerAndBill

В приведенных выше примерах CustomerHeader скорее всего будет содержать идентификатор клиента и имя, часто используемые для отображения клиентов в простых списках. CustomerDetail будет содержать большую часть информации о клиентах, но не будет содержать каких-либо реляционных свойств, которые могут содержать полноразмерные объекты клиента. Остальные должны быть самоочевидными, что является конечной целью.

Ответ 3

Мне нравится CustomerDto больше, чем DtoCustomer. Как бы их сортировать рядом друг с другом.

Но именование может также зависеть от использования DTO. Например, в ASP.NET MVC я часто вызываю DTO, который отправляется в представление для CustomerViewModel.

Ответ 4

Обычно я добавляю DTO в таких ситуациях.