![]() |
1
4
我通过存储库模式抽象了我的数据访问,因此保持我的域对象完全不受POCO和数据提供者的影响。 这允许我从一个领域的角度来塑造我的应用程序,主要通过单元测试来集中精力于逻辑。 一旦解决了这一问题,我将放入表示层(通常是网页),然后提交到具体的数据库模式中。然后,我实现了具体的知识库类,可以是L2S。 我在这里起草了几篇文章- http://www.duncangunn.me.uk/dasblog/2009/04/11/TheRepositoryPattern.aspx http://www.duncangunn.me.uk/dasblog/2009/06/27/MockingLinqToSQLRepositories.aspx 在接下来的几周里,请注意,因为我将记录并提供我的实现的示例代码,它也使用工作单元模式。 |
![]() |
2
2
我们将域对象直接映射到数据库,这意味着我们没有单独的数据访问层,而是将其视为基础结构代码。 我们使用 Fluent NHibernate 对于大多数配置。 |
![]() |
3
2
拆分有界上下文也是DDD的一大好处,即使必须在上下文之间复制数据,也可以解决其上下文中的每个问题。 良好的聚合根定义提供了一个更简单的设计,并导致潜在的性能改进(通过网格计算的可扩展性,请参见 Gojko Adzic post ) 当您的设计成为真正的域驱动时,您的应用程序对新的业务需求更为灵活,因为实现实际上是一个实现细节。 |