DDD,NHibernate和项目结构/命名

Bud*_*Joe 7 .net nhibernate domain-driven-design projects-and-solutions naming-conventions

对于使用NHibernate并尝试引入一些DDD概念的WebForms解决方案,您建议使用什么?

假设根命名空间和解决方案名称是Sample

  • Sample.Domain - 包含我的域对象和我的映射文件
  • Sample.Repositories - 包含我的存储库和nhibernate连接配置文件
  • Sample.Business - 包含我的业务逻辑
  • Sample.Web - 实际的WebForms项目 - 所有演示文稿

我忘记了什么?有没有更标准的方法来命名这些?
有关该主题的任何精彩博文?

Ste*_*ons 3

缺少的一些部分似乎是整个解决方案和测试项目所需服务的中心位置。我通常有这样的事情:

  • Sample.Core - 需要在应用程序中使用的服务和代码
  • Sample.Data - 域类和存储库接口
  • Sample.Data.NHibernate - 映射文件、流畅的配置等以及存储库实现,基本上是特定于数据映射层的任何内容
  • Sample.Services - 服务实现和接口
  • Sample.Web - Web 应用程序

我有一个匹配的测试项目树:

  • 测试\样本.核心.测试
  • 测试\Sample.Data.NHibernate.Tests
  • ETC...

当然,根据项目的不同,树会变得更加复杂。至于讨论,请查看洋葱架构。您还可以查看领域驱动设计上的示例项目,看看您可以从中获得什么。