“信封”对象有什么用途?

时间:2018-12-14 19:48:37

标签: c# cqrs

看一下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对象呢?如果没有,该模式的名称是什么?

1 个答案:

答案 0 :(得分:1)

因此您可以传递元数据而不会弄乱业务实体。