开发者社区> 芝麻软件> 正文

ABP架构学习系列一 整体项目结构及目录

简介: 本系列是基于aspnetboilerplate-0.8.4.0版本写的,其中原因是由于较高的版本太抽象难以理解和分析,对于还菜菜的我要花更多的时间去学习。 abp的源码分析学习主要来源于 HK Zhang ,他的博客是https://www.cnblogs.com/1zhk/ 一、什么是ABP ASP.NET Boilerplate(ABP)是现代新的Web应用程序的最佳实践和最流行的工具的起点。
+关注继续查看
本系列是基于aspnetboilerplate-0.8.4.0版本写的,其中原因是由于较高的版本太抽象难以理解和分析,对于还菜菜的我要花更多的时间去学习。
abp的源码分析学习主要来源于 HK Zhang ,他的博客是https://www.cnblogs.com/1zhk/

一、什么是ABP

ASP.NET Boilerplate(ABP)是现代新的Web应用程序的最佳实践和最流行的工具的起点。它的目标是实体模型、通用应用程序框架和项目模板。
ABP是一个建立在最新的ASP.NET的MVC和Web API技术的应用框架。它可以很容易地使用依赖注入、日志记录、验证、异常处理、本地化等,也使用流行的框架和库。
ABP实现N层架构(域、应用、基础设施和表示层)和领域驱动设计(实体库,仓储,领域/应用服务、数据传输对象..)。还实现并提供了一个良好的基础结构来实现诸如依赖注入的最佳实践。
ABP创建你的项目启动模板。它包括默认使用的大多数框架和库。你也可以选择单页(AngularJS)或多页(MVC)架构,EntityFramework或NHibernate作为ORM。

二、项目结构

ABP是一套非常优秀的web应用程序架构,适合用来搭建集中式架构的web应用程序。
整个Abp的Infrastructure是以Abp这个package为核心模块(core)+15个模块(module).其中13个依赖于Abp这个核心包,另外两个包(FluentMigration,Web.Resources)相对独立。
Abp.AutoMapper: 实现对象之间的自动映射。
Abp.EntityFramework:通过EntityFramework实现数据访问层。
Abp.FluentMigrator :对FluentMigrator库做了易用性扩展。
Abp.HangFire:集成了HangFire,用于实现后台工作任务。
Abp.MemoryDb:MemoryDB的数据访问层
Abp.MongoDB:MongoDB的数据访问层。这个模块是个鸡肋,实际项目中无法使用。原因后面会详述。
Abp.NHibernate:通过NHibernate实现数据访问层。
Abp.Owin:目前只有一个IAppBuilder的扩展方法,用来解决application启动时候的AppDomain CultureInfo Leak问题。 关于这个Issue可以点击这里
Abp.RedisCache:Redis的数据访问层
Abp.Web: 提供给ASP.Net web application 使用的模块
Abp.Web.Api: 提供给ASP.Net web application Webapi使用的模块
Abp.Web.Mvc: 提供给ASP.Net web application MVC 使用的模块
Abp.Web.Api.Odata : 提供给ASP.Net web application Webapi Odata 使用的模块
Abp.Web.SignalR : 集成SignalR
Abp.Web.Resources:这个模块中只有js和css代码,是用来扩展angularjs或jquery的?
 

三、文章目录

 
 
 
 
 
 
 
 
 
 
 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【应用安全架构】通过UMM学习身份和访问管理系统
【应用安全架构】通过UMM学习身份和访问管理系统
10 0
「数据中心」网络架构脊页架构:Cisco VXLAN 泛滥学习 脊页网络
「数据中心」网络架构脊页架构:Cisco VXLAN 泛滥学习 脊页网络
24 0
玄铁RISC-V处理器入门与实战-RISC-V 处理器架构-RISC-V处理器课程学习
玄铁RISC-V处理器入门与实战-RISC-V 处理器架构-RISC-V处理器课程学习
32 0
多模态如何自监督?爱丁堡等最新「自监督多模态学习」综述:目标函数、数据对齐和模型架构
多模态如何自监督?爱丁堡等最新「自监督多模态学习」综述:目标函数、数据对齐和模型架构
28 0
高性能架构学习路线图-分布式架构演进
高性能架构学习路线图-分布式架构演进
25 0
Innodb体系架构学习整理
InnoDB存储引擎最早由Innobase Oy公司开发,被包括在mysql数据库所有的二进制发行版本中,从mysql5.5版本开始默认的表存储引擎。其中Heikki Tuuri是InnoDB存储引擎的创始人。 InnoDB架构体系包含后台线程、内存、checkpoint技术,其中后台线程包含主线程、io处理线程、回收分配undo线程、页清理线程;内存包括缓冲池、重做日志缓冲、额外缓冲池;checkpoint技术包含 Sharp Checkpoint、FuzzyCheckpoint,数据库运行时,通常会和FuzzyCheckpoint打交道,通常会根据检查点age来处理
36 0
【深入浅出之透析RocketMQ原理及实战指南】RocketMQ学习入门指南 | ​​RocketMQ物理和逻辑架构结构精讲​
【深入浅出之透析RocketMQ原理及实战指南】RocketMQ学习入门指南 | ​​RocketMQ物理和逻辑架构结构精讲​
61 0
25岁阿里120W年薪架构师推荐学习的750页微服务架构深度解析文档
当前,微服务架构在国内正处于蓬勃发展的阶段,无论是大型互联网公司还是传统的IT企业,纷纷采用微服务架构构建系统。 在过去几年里,DevOps、云原生、面向演进式架构等理念已经深入人心,围绕微服务生态也出现了大量的组件、框架、工具,这很好地支撑了海量的数据增长和用户业务需求的快速变化。 本文将从微服务理论开始介绍,结合作者多年的工作经验,深入讲解分布式系统和微服务架构,从而帮助技术人员切实掌握微服务架构技术。
100 0
Mysql学习-架构认识
2.Mysql的逻辑架构 其可分为三层: 最上层为基于网络的客户端/服务端的工具或服务类似的架构。比如:连接处理、授权认证、安全等。每个客户端连接都会在服务器进程中拥有一个线程,同时对其进行认证。 第二层:大部分Mysql的核心服务功能都在这一层,包括:解析、分析、优化、缓存以及所有的内置函数,所有跨存储引擎的功能都在这一层实现:存储过程、视图、触发器等。Mysql首先会解析查询,并创建内部数据结构(解析树),然后对其进行各种优化,包括重写查询、决定表的读取顺序,以及选择合适的引擎等。同时可以请求优化器解释(explain)优化过程的各个因素,提供优化参考。 第三层:包含了存储引擎,存储引擎负
49 0
每日积累【Day 3】Hbase架构深入学习
每日积累【Day 3】Hbase架构深入学习
50 0
【视频】低代码音视频工厂产品与 vPaaS 架构学习|学习笔记
快速学习【视频】低代码音视频工厂产品与 vPaaS 架构学习。
73 0
K8S 架构-场景-学习目标-学习步骤 | 学习笔记
快速学习 K8S 架构-场景-学习目标-学习步骤
53 0
HLS开发学习-08- Vivado HLS下C_C++测试平台的基本架构
HLS开发学习-08- Vivado HLS下C_C++测试平台的基本架构
86 0
spring学习22-分层架构
spring学习22-分层架构
51 0
+关注
芝麻软件
编程语言,框架相关专家
文章
问答
视频
相关电子书
更多
可视化架构运维实践
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载