一个有条件地包含/排除属性的好的设计

时间:2019-06-25 10:54:08

标签: c# design-patterns

对于Web应用程序,我有一项获得一些信息的服务。例如,SaleOrder and SaleOrderDto包含几十个属性

  • OrderID
  • 日期
  • 总金额
  • 项目总数

...等等等等

确保某些属性需要花费一些时间来调用外部服务,所以我希望有一种机制可以让用户为呼叫选择/拒绝某些属性

例如:

/ service / order / 1 / info?include = OrderID,TotalAmount

我不太喜欢做

if(OrderID)
{
   OrderDTO.OrderID = Order.OrderID
}
if(TotalAmount)
{
   OrderDTO.TotalAmount = Order.TotalAmount
}

或使用Reflection遍历所有属性

您能帮我提出一些更简洁的代码吗?

0 个答案:

没有答案