DTO的接口

Sim*_*der 11 c# interface dto

我目前正在开发一个大型Web应用程序,主要包含一个Angular SPA和一个可以访问后端层的OData WebAPI.
我们处于早期阶段并且已经开始实现第一个类,包括一个Model.dll在公共命名空间中的类,以便所有层都可以访问它.
我们现在正在讨论模型中的那些DTO.有人说使用接口是绝对必要的,所以代码是这样的:

namespace MySolution.Common.Model
{
    public interface IPerson
    {
        int Id { get; set; }
        string Name { get; set; }
        ...
    }
}

namespace MySolution.Common.Model
{
    public class PersonDTO : IPerson
    {
        public int Id { get; set; }
        public string Name { get; set; }
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

就是这样了.只是简单的DTO,没有更多的智能.
我现在问自己这是否真的是一个好方法,因为我没有看到在这里使用界面的必要性.
这有什么好处?提到了可测试性,但是甚至需要测试DTos吗?依赖注入也应该不重要.
任何启示都会非常有帮助.最后学习新的东西和方法总是很好......

Big*_*ddy 6

DTO转移状态 - 就是这样.通过容器注入它们或嘲笑它们进行测试似乎毫无意义(如果这是动机)并且完全没有必要.不要这样做.