ABP学习实践(一)--概览
学习使用ABP框架已有近一年了,有了一点积累,最近刚好把使用过程中的心得记录下。ABP框架是近些年比较流行的开源框架之一,主要特点我就不再一一赘述,一是网上已经有不少资料了,很多大牛也都比我写的详细和深刻,二是能看到这篇文章的应该对ABP框架是有些许了解的。废话不说,直奔主题。
注意:示例中使用ABP框架版本为4.6,发文时最新版本已到5.1,且运行环境为.NET Framework,尚未切换至.NET Core
参考资料
感谢诸多大牛的努力和分享,才使得我能更快的接触和了解ABP框架。
ABP框架的结构
官方文档上对ABP框架的结构进行定义,如下图所示:
从下到上依次是基础设施层、领域层、应用层、分布式服务层、展现层和客户端应用。在比较容易理解的分层结构基础上,框架本身有提供诸如对象映射、缓存、日志、多租户、异常处理、依赖注入等等一系列很有用的功能。
ABP框架的分层架构体现在代码解决方案的文件层次上就如下图所示:
在实际项目中,基础设施层连接数据库。而由于实际项目中采用了前后端分离的开发模式,所以客户端应用由前端开发人员实现,展现层也仅作为后端接口的基本管理应用来使用。后端开发人员的主要代码工作量就是在分布式服务层、应用层和领域层了,如果业务不是很复杂,利用分布时服务处动态生成API接口的特性可以减少更多的代码开发量。
在实际的开发过程中,各层之间的关系大体如下:
领域层内为实体对象,通过映射关系与应用层的不同数据传输对象对应。应用层的接口定义数据传输对象与实体对象之间的行为,应用服务实现接口,也就定义的行为成为方法或函数。分布式服务层根据应用层的接口定义生成可供外部访问的API接口。展现层则提供对应的交互界面用于访问API接口。而基础设施层要做的就是把领域层的实体对象与数据库对象关联起来。这样从下至上、从前端到后端,数据的流动就通畅了。
以上就是从结构上对ABP框架的概况进行了解,更多更详细的功能和使用方法在后面的文章中继续介绍。