【问题标题】:Where to put business (game) logic in aspnetboilerplate在 aspnetboilerplate 中放置业务(游戏)逻辑的位置
【发布时间】:2016-01-18 09:29:48
【问题描述】:

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

http://www.aspnetboilerplate.com/

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

        要对 DDD 有一个清晰的认识,请阅读以下文章 Onion Architecture

        这对我帮助很大,还坚持文档并查看

        AspNetZero

        它使用 aspnet 样板

        【讨论】:

          猜你喜欢
          • 2011-10-16
          • 1970-01-01
          • 2017-04-02
          • 1970-01-01
          • 2019-05-22
          • 2011-08-02
          • 2012-08-09
          • 1970-01-01
          • 2019-05-14
          相关资源
          最近更新 更多