欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

abp(net core)+easyui+efcore仓储系统——解决方案介绍(二)

程序员文章站 2022-07-02 18:05:49
ABP.TPLMS.Application,应用层:进行展现层与领域层之间的协调,协调业务对象来执行特定的应用程序的任务。它不包含业务逻辑,主要包含一些模型,abp重要的数据传输DTO,包括数据库映射实体,前端视图模型转实体(Entity)对象,一个应用服务方法通常被认为是一个工作单元(Unit o... ......

abp(net core)+easyui+efcore仓储系统目录

abp(net core)+easyui+efcore仓储系统——abp总体介绍(一)

abp框架 

首先介绍一下abp框架,abp其实基于ddd(领域驱动设计)原则,具体的体系结构如下图:

 abp(net core)+easyui+efcore仓储系统——解决方案介绍(二)

现在我们开始介绍我们的解决方案,我们的项目解决方案如下:

二 . abp项目文件的介绍

 abp(net core)+easyui+efcore仓储系统——解决方案介绍(二)

       abp.tplms.application,应用层:进行展现层与领域层之间的协调,协调业务对象来执行特定的应用程序的任务。它不包含业务逻辑,主要包含一些模型,abp重要的数据传输dto,包括数据库映射实体,前端视图模型转实体(entity)对象,一个应用服务方法通常被认为是一个工作单元(unit of work),使用一种像automapper这样的工具来进行实体与dto之间的映射,前端参数传入有限性验证等等

       abp.tplms.core:领域层:领域层就是业务层,是一个项目的核心,所有业务规则都应该在领域层实现。包括业务对象和业务规则,这是应用程序的核心层。 

     实体(entity):实体代表业务领域的数据和操作,在实践中,通过用来映射成数据库表。

    仓储接口(irepository):仓储用来操作数据库进行数据存取。仓储接口在领域层定义,而仓储的实现类应该写在基础设施层。

    领域服务(domain service):当处理的业务规则跨越两个(及以上)实体时,应该写在领域服务方法里面。

    领域事件(domain event): 在领域层某些特定情况发生时可以触发领域事件,并且在相应地方捕获并处理它们。 

    工作单元(unit of work)工作单元是一种设计模式,用于维护一个由已经被修改(如增加、删除和更新等)的业务对象组成的列表。它负责协调这些业务对象的持久化工作及并发问题。
      多语言(localization)定义一种语言对应一个文件,把应用中所有需要进行多语言转换的描述,都可以写在这个目录中。

      abp.tplms.entityframeworkcore:基础设施层:提供通用技术来支持更高的层。例如基础设施层的仓储(repository)可通过orm来实现数据库交互。当在领域层中为定义了仓储接口,应该在基础设施层中实现这些接口。可以使用orm工具,例如entityframeworkcore或nhibernate。abp的基类已经提供了对这两种orm工具的支持。还有数据迁移等。

     abp.tplms.web.mvc:展现层:提供视图界面与用户进行交互操作。

     abp.tplms.web.host:这里在abp中主要是提供接口,可以是解决方案内部使用接口,可以是与移动端等其他端口连接的接口。可以自动生成webapi接口,供客户端调用;也可以在脚本中进行调用。