标签: data-transfer-objects

复杂的 DTO 结构

我在 SO 上的书籍和文章中阅读了很多关于 DTO 的内容,但我不确定我是否理解正确。

我们在项目中使用 DTO,因此它们几乎只是域对象的属性。因此,我们需要一个复杂的 DTO 结构。有一些类相互扩展,组合、聚合等。

问题比较笼统。

从另一个 dto 继承一个 dto 或在另一个 dto 中引用一个 dto 是否正确?

.net design-patterns domain-driven-design data-transfer-objects

3
推荐指数
1
解决办法
2303
查看次数

Dto和域实体.我是否正确创建了dto?

我有以下域实体:

public class CartItem
{
    public virtual Guid Id { get; set; }
    public virtual Guid SessionId  { get; set; }
    public virtual int Quantity  { get; set; }
    public virtual Product Product  { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我有以下DTO:

public class CartItemDTO
{
    public CartItemDTO(CartItem cartItem)
    {
        Id = cartItem.Id;
        Quantity = cartItem.Quantity;
        Name = cartItem.Product.Name;
        Price = cartItem.Product.Price;
    }

    public Guid Id { get; private set; }
    public int Quantity { get; private set; }
    public string Name { …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc domain-driven-design data-transfer-objects dto asp.net-mvc-2

1
推荐指数
1
解决办法
1015
查看次数

POCO和'价值对象'之间的唯一区别是POCO目标.Net?

我试图理解POCO的确切含义(是的,我已经读过维基百科,但仍然无法得到主要观点:().

我知道Value Object是一个对象,基本上只有属性来保持数据没有任何行为.

在这种情况下,在我看来,POCO和'Value Objects'具有相同的结构,但不同之处在于POCO的目标是.net框架.

我对么?

谢谢.

.net c# data-transfer-objects poco value-objects

1
推荐指数
1
解决办法
463
查看次数

使用 Carbon 仅解析时间

我的 DTO 类中有一个字段,它接受 start_time 和 end_time 作为“2:00 AM”

/**
 * @var string
 */
#[CastWith(TimeCaster::class)]
public string $start_time; // 01:00 AM example

/**
 * @var string
 */
#[CastWith(TimeCaster::class)]
public string $end_time;
Run Code Online (Sandbox Code Playgroud)

我可以在 Caster 类中使用 Carbon 解析这种时间格式吗

#[\Attribute] class TimeCaster implements Caster
{
    public function cast(mixed $value): mixed
    {
        return Carbon::parse($value)->format();
    }
}
Run Code Online (Sandbox Code Playgroud)

php time data-transfer-objects laravel

1
推荐指数
1
解决办法
1627
查看次数