看一下RealWorld example apps的代码,我看到它们将对象包装在“信封”对象中,如下所示:
namespace Conduit.Features.Users
{
public class User
{
public string Username { get; set; }
public string Email { get; set; }
public string Bio { get; set; }
public string Image { get; set; }
public string Token { get; set; }
}
public class UserEnvelope
{
public UserEnvelope(User user)
{
User = user;
}
public User User { get; set; }
}
}
为什么需要这个?这是CQRS模式的一部分吗?如果是这样,为什么不直接在Command或Query对象上添加属性,或者仅返回User
对象呢?如果没有,该模式的名称是什么?
答案 0 :(得分:1)
因此您可以传递元数据而不会弄乱业务实体。