首页 > 其他分享 >ABP入门教程3 - 解决方案

ABP入门教程3 - 解决方案

时间:2023-06-12 11:35:23浏览次数:50  
标签:CRS Web 解决方案 入门教程 Core 应用程序 领域 ABP JD

点这里进入ABP入门教程目录

 

创建项目

点这里进入ABP启动模板 

如图操作,我们先生成一个基于.NET Core的MPA(多页面应用).点击"Create my project!"即可创建项目.

 

ABP入门教程3 - 解决方案_Web

解读项目

ABP入门教程3 - 解决方案_Core_02

展示层 (JD.CRS.Web.Mvc)

提供一个用户界面,实现用户交互操作。

ASP.NET Core MVC(模型-视图-控制器)可以视为展示层。它可以是物理层(通过HTTP API使用应用程序)或逻辑层(直接注入和使用应用程序服务)。无论哪种情况,它都可以包括 本地化,导航,对象映射, 缓存,配置管理,审计日志等。它还处理 授权,会话, 功能(用于 多租户应用程序)和异常处理。

分布式服务层(JD.CRS.Web.Host)

用于公开应用程序接口供远程客户端调用。比如通过ASP.NET Web API和WCF来实现。

该层用于通过REST,OData,GraphQL等远程API来提供应用程序/域功能...它们不包含业务逻辑,而仅将HTTP请求转换为域交互,或者可以使用应用程序服务来委托操作。该层通常包括授权,缓存, 审核日志记录,对象映射,异常处理,会话等。

应用层 (JD.CRS.Application)

进行展现层与领域层之间的协调,协调业务对象来执行特定的应用程序的任务。它不包含业务逻辑。

应用层主要包括应用服务的使用领域层和领域对象(领域服务, 实体 ...)来执行请求的应用程序的功能。它使用数据传输对象从表示层或分布式服务层获取数据并将数据返回到表示层或分布式服务层。它还可以处理 授权,缓存,审核日志记录,对象映射,会话等。

领域层 (JD.CRS.Core)

包括业务对象和业务规则,这是应用程序的核心层。

这是实现我们的领域逻辑的主要层。它包括 实体,值对象和领域服务以执行业务/领域逻辑。它还可以包括规范和触发领域事件。它定义了存储库接口以从数据源(通常是DBMS)读取和保留实体。

基础设施层 (JD.CRS.EntityFrameworkCore)

提供通用技术来支持更高的层。例如基础设施层的仓储(Repository)可通过ORM来实现数据库交互。

基础设施层使其他层起作用:它实现存储库接口(例如,使用Entity Framework Core)以实际使用实际数据库。它还可能包括与供应商的集成,以发送电子邮件等。这不是所有层下的严格层,但实际上通过实现抽象层来支持其他层。

补充说明

JD.CRS.Migrator 提供数据库迁移操作。

JD.CRS.Web.Core 封装Web层核心功能。

 



标签:CRS,Web,解决方案,入门教程,Core,应用程序,领域,ABP,JD
From: https://blog.51cto.com/u_14347868/6460981

相关文章

  • ABP入门教程5 - 界面调整
    点这里进入ABP入门教程目录 调整前调整后调整项页面标题把favicon.ico替换为指定LogoJD.CRS.Web.Mvc\wwwroot\favicon.ico顶部工具栏把logo.png替换为指定LogoJD.CRS.Web.Mvc\wwwroot\images\logo.png更新Layout JD.CRS.Web.Mvc\Views\Shared\_Layout.cshtml 左侧菜单栏调整用户......
  • ABP入门教程2 - 体系架构
    点这里进入ABP入门教程目录 介绍应用程序代码库的分层是一种广泛接受的技术,可帮助降低复杂性并提高代码可重用性。为了实现分层体系结构,ASP.NETBoilerplate遵循域驱动设计的原理。DDD分层体系架构领域驱动设计(DDD:Domain-DrivenDesign)有四个基本层:展示层:为用户提供界面。使用......
  • ABP入门教程6 - 领域层创建实体
    点这里进入ABP入门教程目录 创建实体在领域层(即JD.CRS.Core)下新建文件夹Entitys//用以存放实体对象添加一个实体类Course.cs//课程信息1usingAbp.Domain.Entities;2usingAbp.Domain.Entities.Auditing;3usingAbp.Timing;4usingSystem;5usingSystem.Collecti......
  • 智慧全光园区解决方案
                               ......
  • 智慧园区解决方案
    智慧园区是以互联网为载体,“互联网+产业”融合产业模式为手段,面向园区提供全产业链支撑服务的解决方案。能够帮助园区在信息化方面建立统一的组织管理协调架构,业务管理平台和对内对外服务运营平台。将相关资源形成紧密联系的整体,获得高效、协同、互动的整体效益。1.1.建设背景在经......
  • 学校配电系统管理难点及解决方案的介绍
    安科瑞虞佳豪​全市中小学即将开学,暑假期间学校用电设备较长时间未用,且雷雨天气较多,存在安全用电隐患。为保障学校用电安全,国网栖霞市供电公司城区供电中心彩虹服务队员提前联系,主动上门开展学校安全用电检查,重点对学校配电室、变压器、配电盘、电缆出线进行检查和红外测温,对教......
  • nginx-rmtp-****,nginx-flv-****的编译相关问题及解决方案
    1.mingW进入命令行  2.编译nginx-rtmp-module-master遇到的问题解决方案参考......
  • 访问利用windows IIS 搭建的webdav出现500、403等代码的解决方案
    服务端在IIS中启用webDav添加创作规则(如第1张图)启用「身份验证」(如第2、3张图)防火墙设置将「在IIS中对该webDav站点设置的端口」设为「例外」或直接关闭防火墙重启该IIS站点(可选)客户端下载地址(选一即可):Windows64位https://www.123pan.com/s/FfztVv-DxNn3.html......
  • 分析spring事务@Transactional注解在同一个类中的方法之间调用不生效的原因及解决方案
    问题:在Spring管理的项目中,方法A使用了Transactional注解,试图实现事务性。但当同一个class中的方法B调用方法A时,会发现方法A中的异常不再导致回滚,也即事务失效了。当这个方法被同一个类调用的时候,spring无法将这个方法加到事务管理中。我们来看一下生效时候和不生效时候调用堆栈日志......
  • odoo 开发入门教程系列-模型和基本字段
    模型和基本字段在上一章的末尾,我们创建一个odoo模块。然而,此时它仍然是一个空壳,不允许我们存储任何数据。在我们的房地产模块中,我们希望将与房地产相关的信息(名称(name)、描述(description)、价格(price)、居住面积(livingarea)…)存储在数据库中。odoo框架提供了数据库交互的工具......