前缀 DTO / POCOS - 命名约定?
-
21-08-2019 - |
题
确实是一个简单的问题,我想知道任何人在那里使用的命名约定是什么 DTO / POCOS ....
我真的不想像匈牙利符号那样添加前缀..我摆脱了那个!
但是我的 dtos 命名与实际返回的对象名称发生冲突,尽管它们位于不同的命名空间中,但仍然有点令人困惑。
我想知道任何人都适用什么命名约定
例如我的客户对象称为 Customer
我做了一个到 dto 的映射...这是客户..我在想 DtoCustomer ..
没有把握
任何人 ?
解决方案
我更喜欢使用的命名空间这一点。使用命名空间的别名,这使得它显得更加清晰。
这将使代码看起来像:
Customer myCustomer = new Customer();
Dto.Customer dtoCustomer = ....;
如果我在DTO层完全工作时,我还可以用“客户”在这一点上工作。
其他提示
根据我的经验,DTO 通常是域实体所代表的数据的子集或聚合。这通常是因为领域实体是丰富的、高度相互关联的、复杂的对象,同时具有行为和数据。因此,我尝试为 DTO 命名以尽可能多地反映它们所代表的信息子集。就客户而言,我经常使用根据所请求的信息进行微调的 DTO:
- 客户标题
- 客户详情
- 最近订单的客户
- 顾客与账单
在上面的示例中,CustomerHeader 可能只包含客户 ID 和名称,通常用于在简单列表中显示客户。CustomerDetail 将包含大多数客户信息,但不会包含成熟的 Customer 实体可能包含的任何关系属性。其他的应该是不言自明的,这是最终的目标。
我喜欢CustomerDto多于DtoCustomer。希望有彼此相邻它们排序。
但也命名可以取决于DTO的用法。例如,在一个ASP.NET MVC我常说的DTO被发送到用于CustomerViewModel的图。
我通常在这样的情况下追加DTO。
不隶属于 StackOverflow