【发布时间】:2012-09-15 05:40:53
【问题描述】:
我开始使用 c# 在 asp.net mvc 中进行域驱动设计,并且正在创建一个小型示例项目。我目前有一个用于我的域层、服务层、Web 以及控制台应用程序的项目。我也使用 mongodb 作为我的数据库。
目前,我的项目有属于这些组的人的组,我在我的域层中有一个名为 Group 和 Person 的类,如下所示(简化)。 Group 和 Person 也代表集合 Group 在我的 mongodb 数据库中的样子。
public class Group
{
public string Name { get; set; }
public List<Person> People { get; set; }
}
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
我理解它的方式是我的网站和我的控制台应用程序应该与我的服务层进行通信,该服务层充当一种外观并且永远不应该看到域层?
我不确定的事情是在我的控制台应用程序或网站中,如果我想询问所有组的服务层,通常我希望我会要求类似的东西
var groupService = new GroupService();
List<Group> groups = groupService.GetGroups();
除了在这种情况下作为我的组,并且人员类位于我的控制台应用程序和网站不知道的域层中,我无法请求 Group 的列表,因为我的应用程序不知道 @ 是什么987654329@是。
我的服务层是否应该将结果输出为其他内容,例如 Json,这取决于我的网站和控制台应用程序,或者说我是否有其他人可以访问的 API 来确定如何处理这些数据?还是我在这里搞混了什么?
编辑:
将来我计划在安卓应用中使用我的服务和域。我正在考虑使用宁静的服务。我不打算(现阶段)将其作为公共 API。
【问题讨论】:
标签: c# asp.net-mvc mongodb domain-driven-design