我在 Pluralsight 上学习了一些关于清洁架构和领域驱动设计的课程。在等待 Eric Evan 关于 DDD 的书到来时,我遇到了以下情况和问题:
我正在建立一个新项目。我添加了以下项目:
- 我的项目应用程序
- 我的项目.Common
- 我的项目.域
- MyProject.Infrastructure
- 我的项目持久性
- 我的项目.WebApi
一个业务需求是让 WebApi 返回一个具有以下属性的模型:
- 不符合我的命名约定;
- 很丑。
该模型位于 MyProject.Application 项目中。例如:
namespace MyProject.Application
{
public class MyModel
{
public string _communityname { set; get; }
public List<string> photolist { set; get; }
public string postedby { set; get; }
}
}
通常我会在这些模型上应用 JsonPropery 属性以使其保持良好状态:
namespace MyProject.Application
{
public class MyModel
{
[JsonProperty("_communityname")]
public string CommunityName { set; get; }
[JsonProperty("photolist")]
public List<string> PhotoUrls { set; get; }
[JsonProperty("postedby")]
public string PostedBy { set; get; }
}
}
但是,后来我想了想……对自己说:应用层不应该关心“事物”是如何呈现的。这是表示层的任务,在本例中为 WebApi。
这个对吗?应用程序层是否应该返回一个正常的模型并让 WebApi 将其转换/转换为业务所需的任何(丑陋的)表示形式。
提前谢谢了。