将业务(游戏)逻辑放在aspnetboilerplate中的位置

时间:2015-10-19 21:48:30

标签: c# asp.net .net n-tier-architecture asp.net-boilerplate

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

http://www.aspnetboilerplate.com/

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

当我开始使用此框架时,我也遇到了同样的问题。如果您尝试创建移动设备和Web应用程序,我建议您使用Abp中的应用程序层(服务层)。如果您从Abp的DTO派生DTO,框架将为您处理几乎所有的验证和例外情况。关于服务层形式Abp的好处是它生成Js代理来调用这些方法。

将来,如果您尝试创建移动应用程序,可以使用Asp.NET Web Api中的Abp模板中的应用程序层。它们几乎是从服务层到Web Api的一对一地图。

答案 2 :(得分:0)

要了解有关DDD的明确想法,请阅读以下文章 Onion Architecture

它帮助我很多也坚持文档并看看

AspNetZero

它使用aspnet样板