ABP开发框架前后开发系列——(14)基于Winform的ABP快速开发框架
浏览:786 次

我们逐步介绍了大量ABP系列文章,包括我们日常开发中涉及的Web API服务构建、登录日志和操作审计日志、字典管理模块、省市信息维护、组织、用户、角色、权限、菜单、配置管理模块、界面高级查询处理等,同时,我们将整个开发概念与代码生成工具Database2Sharp相结合,以实现快速开发。快速开发分为两部分:一是ABP框架代码生成Web API部分,包括域实体层、应用服务层、公共DTO和接口层、API调用调用方层等内容的生成,我们集成了我们封装的基类,使生成的代码更简洁,但更强大的易用功能;快速生成的另一部分是接口生成。基于我们在Winform领域多年的发展,我们集成了分页、公共类库和Winform基本接口类,以实现快速的Winform接口生成。此外,Winform接口生成可以根据需要配置列表查询条件、列表显示内容、编辑界面字段显示等内容,生成的Winform界面自动具有与ABP快速框架进行整体调用的一般规则。
1.ABP框架背景介绍
ABP是ASP的缩写。NET锅炉板。ABP是一个开源且文档友好的app框架。ABP不仅是一个框架,它还提供了一个基于最佳实践领域驱动设计(DDD)的架构模型。我已经学习使用ABP框架一段时间了。我一直想完全理解框架的整个上下文,并将其放入一个系列中,但我从未写过本文的开头。我只是希望我能深入理解它,并且更深入地理解它。我不想误导人们,也不想把官方网站的内容翻译成与互联网上相同的内容。官方网站上的英文介绍也非常详细,所以我认为最好根据实际使用过程进行整理。
第一次了解ABP框架是令人惊讶的。它基本上是一个建筑大师。NET领域,几乎涵盖了我们所有著名的技术应用。NET字段。此外,它还可以支持。net框架和。net核心,并对其介绍非常感兴趣。
1) ABP框架的特点
让我们大致了解一下ABP框架。

依赖注入。这部分使用Castle Windsor(依赖注入容器)实现依赖注入,这也是我们经常使用IOC处理的方式;
仓库仓储模式实现了实体框架、NHibernate、MangoDB、内存数据库等,仓储模式可以快速调用数据接口;
身份验证和授权管理可用于通过声明特性来验证用户是否登录或界面权限。可以以非常细粒度的方式设置每个接口的调用权限;
数据有效性验证:ABP自动判断接口的输入参数对象是否为空,并可根据属性的应用信息验证属性的有效性;
审计日志记录,即我们对每个接口的调用记录,以及创建、修改和删除记录的人员的记录;
工作单元模式自动实现应用层和存储层的数据库事务。默认情况下,所有app服务层接口都以工作单元模式运行,即使它们调用不同的存储对象进行处理,它们都处于相同的事务逻辑中;

异常处理。ABP框架提供了一整套流程处理操作,可以轻松地记录和转移异常;
日志记录。我们可以使用Log4Net进行常规日志记录,以便跟踪程序的处理信息和错误信息;
多语言/本地化支持。ABP框架对多语言处理也很友好,提供XML和JSON语言信息的配置和处理;
自动映射是ABP中一个非常重要的对象隔离概念。通过使用AutoMapper实现域对象和DTO对象的属性映射,可以隔离它们之间的逻辑关系,但可以轻松分配属性信息;
动态Web API层。通过这种动态处理,您可以直接将app服务发布为Web API层,而无需为每个业务对象手动创建Web API控制器,这非常方便;
动态JavaScript的AJax代理处理可以自动