2015-10-19 43 views
1

我是DDD(域驱动设计)的新手。在传统的项目中,我通常会创建一个持久性,业务和用户界面层。现在使用aspnetboilerplate,有一个核心应用程序服务,entityframework和ui层。我的理解是域(核心)层是我的主要业务逻辑应该在的地方。我想要做的是使用这种架构创建一个二十一点游戏,以便我可以在将来为它创建一个移动和Web应用程序。我很难弄清楚我的方法与经销商,卡牌,得分等有关的方法应该是什么。我的直觉告诉我它应该在域中,但我知道应用服务层是域和表示之间的中介。应用程序服务层处理数据传输对象,不处理数据传输对象。所以我在这里试图得到的是,如果我的游戏如何工作的方法应该在域层或应用程序服务层?哪里把商业(游戏)的逻辑在aspnetboilerplate

http://www.aspnetboilerplate.com/

回答

0

域名(核心)层是你的业务逻辑的正确位置。在将数据传递到域层之前,应该使用应用层来验证数据传输对象(DTO)。

0

当我开始使用这个框架时,我也遇到了同样的问题。如果您尝试创建移动应用程序和Web应用程序,我建议您使用Abp的应用程序层(服务层)。如果您从Abp的DTO中派生您的DTO,则框架将为您处理几乎验证和例外情况。 Abp服务层的好处在于它生成Js代理来调用这些方法。未来,如果您尝试创建移动应用程序,则可以使用Abp模板中的应用程序层与Asp.NET Web Api进行通信。它们几乎是从服务层到Web Api的一对一映射。

0

为了有关于DDD一个明确的想法,请阅读下面的文章 Onion Architecture

它帮了我很多还坚持文档和看看

AspNetZero

它使用ASPNET样板