• ABP入门系列之1——ABP总体介绍


    ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称。

    ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WEB应用程序框架和项目模板。

    ASP.NET Boilerplate 基于DDD的经典分层架构思想,实现了众多DDD的概念(但没有实现所有DDD的概念)。

    ABP的官方网站http://www.aspnetboilerplate.com

    ABP在Github上的开源项目https://github.com/aspnetboilerplate

    ASP.NET Boilerplate采用了以下技术:

    服务器端:

    • ASP.NET MVC 5、Web API 2、C# 5.0
    • DDD领域驱动设计 (Entities、Repositories、Domain Services、Domain Events、Application Services、DTOs等)
    • Castle windsor (依赖注入容器)
    • Entity Framework 6 NHibernate,数据迁移
    • Log4Net(日志记录)
    • AutoMapper(实现Dto类与实体类的双向自动转换)

    客户端:

    • Bootstrap 
    • Less
    • AngularJs
    • jQuery
    • Modernizr
    • 其他JS库: jQuery.validate、jQuery.form、jQuery.blockUI、json2

    ABP框架已实现了以下特性:

    • 多语言/本地化支持
    • 多租户支持(每个租户的数据自动隔离,业务模块开发者不需要在保存和查询数据时写相应代码)
    • 软删除支持(继承相应的基类或实现相应接口,会自动实现软删除)
    • 统一的异常处理(应用层几乎不需要处理自己写异常处理代码)
    • 数据有效性验证(Asp.NET MVC只能做到Action方法的参数验证,ABP实现了Application层方法的参数有效性验证)
    • 日志记录(自动记录程序异常)
    • 模块化开发(每个模块有独立的EF DbContext,可单独指定数据库)
    • Repository仓储模式(已实现了Entity Framework、NHibernate、MangoDB、内存数据库)
    • Unit Of Work工作单元模式(为应用层和仓储层的方法自动实现数据库事务)
    • EventBus实现领域事件(Domain Events)
    • DLL嵌入资源管理
    • 通过Application Services自动创建Web Api层(不需要写ApiController层了)
    • 自动创建Javascript 的代理层来更方便使用Web Api
    • 封装一些Javascript 函数,更方便地使用ajax、消息框、通知组件、忙状态的遮罩层等等

    除ABP框架项目以外,还开发了名叫“Zero”的模块,实现了以下功能:

    • 身份验证与授权管理(通过ASP.NET Identity实现的)
    • 用户&角色管理
    • 系统设置存取管理(系统级、租户级、用户级,作用范围自动管理)
    • 审计日志(自动记录每一次接口的调用者和参数)

    ABP适用的场景:中小规模WEB应用开发。(处理高并发并不是ABP的强项。需要非常高并发的DDD框架,建议去研究netfocus的ENode。)

  • 相关阅读:
    python的模块future用法实例解析
    strcmp函数和memcmp函数的用法区别及联系
    esp8266 smartconfig-智能配网分析和使用及注意事项
    ubuntu 18.04 安装并配置adb
    Markdown的常用方法总结
    mac下使用minicom几个注意事项
    最强Linux shell工具Oh My Zsh 指南
    ESP8266源码分析--打印的基本用法
    atom 在Ubuntu 18.04 上安装及基本使用
    ubuntu 查看端口被占用并删除端口
  • 原文地址:https://www.cnblogs.com/become/p/10179974.html
Copyright © 2020-2023  润新知