ABP总体介绍
ABP是 Boilerplate Project,样板项目。ABP框架定位于快速开发ABP是一个用于最快实践和流行开发现代Web应用程序的新起点,旨在成为一个通用的Web应用程序框架和项目模板。ABP基于DDD的经典分层架构思想,实现了众多DDD的概念。服务端
MVC和Web API实现领域驱动设计DDD,包括实体、存储库、领域服务、应用程序服务、DTO、UnitOfWork...实现分层架构:领域层、应用程序、表示层、基础结构层提供基础设施,为大型项目开发可重用和可组合的模块,使其依赖注入(使用Castle Windsor作为DI容器)。提供严格的模型和基类,轻松使用对象关系映射ORM(直接支持EF)。支持并实现数据库迁移Migration包括简单灵活的本地化系统,多语言。包含服务端全局领域事件和EventBus管理异常处理和验证为应用程序服务创建动态WebApi层提供基本和辅助类实现常见任务使用约定优于配置的原则
客户端
提供项目模板为单页应用程序SPA和多页应用程序MPA,模板基于Bootstrap。常用jQuery和AngularJS库创建动态JS代理以轻松调用应用程序服务,使用动态WebAPI层。包含独特的任务API
ABP功能特性
基础设施层
依赖注入DISession管理缓存机制日志管理键值管理时间管理
领域层
实体值对象仓储领域服务规约管理工作单元领域事件数据过滤
应用层(动态WebApi)
应用服务数据传输对象DTO验证数据传输对象授权功能管理审计日志
展现层
MVC本地化菜单导航嵌入资源JS APICSRF/XSRF保护
WebApi
WebApi控制器动态WebAPIOdata集成SwaggerUI集成
ORM
EntityFramework集成EntityFramework Core集成NHibernate集成
后台服务
后台作业Hangfire集成Quartz集成
实时服务
通知系统Signal集成
官方文档:/Pages/Documents