2

私たちのソフトウェア アーキテクトは、すべての API アクションに独自のレスポンス クラスを持たせることを義務付けています。これは、すべてのレスポンスがわずかに異なる可能性があるためです。したがって、基本的に Product DTO を Base Response クラスにラップし、必要に応じてわずかにカスタマイズします。これは良い建築慣行ですか?私はプログラミングを始めましたが、それは一種の繰り返しのようです。また、これに対するより良い最適な代替手段は何ですか?

製品クラス:

public class ProductDto
{
    public int ProductId { get; set;},
    public string ProductName { get; set;},
    public string ProductDescription { get; set;},
    public float SalesAmount { get; set;}
}

ベースレスポンス:

public class BaseResponse<T>
{
    [Required, ValidateObject]
    public T Body { get; set; }
    public bool HasError { get; set; }
    public string Error { get; set; }
}

個別の対応:

public class CreateProductResponse : BaseResponse<ProductDto>
{
}

public class DeleteProductResponse : BaseResponse<int>
{
}

public class GetAllProductResponse : BaseResponse<IEnumerable<ProductDto>>
{
    public int Count { get; set;};
}

public class GetProductResponse : BaseResponse<ProductDto>
{
}

public class UpdateProductResponse : BaseResponse<ProductDto>
{
    public date DateUpdate { get; set;}
}
4

2 に答える 2