首页 > 其他分享 >ABP - 初识 ABP

ABP - 初识 ABP

时间:2023-05-13 20:35:52浏览次数:41  
标签:abp CLI ABP 初识 https new com

ABP框架

ABP是用于创建现代化Web应用程序的完整体系结构和强大的基础架构,以模块化的方式进行开发,所有模块以nuget包的方式提供,开箱即用,遵循最佳实践和约定,提供SOLID开发经验。

缩写 英文 中文
SRP The Single Responsibility Principle 单一职责元素
OCP The Open Closed Principle 开放封闭原则
LSP The Liskov Substituution Principle 里氏替换原则
ISP The Interface Segregation Principle 接口替换原则
DIP The Dependency Inversion Principle 依赖倒置原则

目前版本

ASP.NET Boilerplate

ASP.NET Boilerplate(ABP)是一个开放源代码且有据可查的应用框架。它不仅是一个框架,而且提供了一个基于领域驱动设计的强大的体系结构模型,同时考虑了所有最佳实践。

此版本基于.net framework平台开放,支持Asp.Net MVC 5.x和EF6.x,也可以和Asp.Net Core和EF Core一起使用,但依赖性比较臃肿。

开源版:https://aspnetboilerplate.com
企业版: https://aspnetzero.com
源码: https://github.com/aspnetboilerplate
中文文档: https://github.com/ABPFrameWorkGroup/AbpDocument2Chinese

ABP Framework

ABP Framework,也称 ABP vNext,是一个开源应用程序框架,专注于基于Asp.Net Core的Web应用程序开放。它还支持开放其他类型的应用程序,如微服务。这个版本提供的模块包更加轻量级。

新版abp官网: https://abp.io
源码: https://github.com/abpframework/abp
中文文档: https://docs.abp.io/zh-Hans/abp/latest
abp汉化: https://github.com/cnabp
nuget包地址: https://www.nuget.org/profiles/volosoft
官网nuget包: https://abp.io/package
企业版: https://commercial.abp.io

ABP 体系结构图

这也是领域驱动设计的基本分层结构。
image

ABP 框架初始化

ABP框架提供了命令行工具ABP CLI,作为一个项目初始化的脚手架,通过它可以快速的构建一个基于领域驱动设计的起始项目,方便我们进行Web应用的开发。

使用ABP CLI初始化ABP项目

  1. 安装
    ABP CLI是一个.net工具,在.net core 2.1及以上的环境下,可以通过命令行工具进行安装和更新。安装命令如下:

    dotnet tool install -g Volo.Abp.Cli
    

    image

    安装完成之后,在命令行中输入abp,即可查看当前ABP CLI版本,出现上图内容时,即按照成功。

  2. 更新
    ABP 框架更新比较频繁,不使用VS中的程序包管理工具,通过ABP CLI也可以更新依赖的ABP框架nuget包,但是ABP CLI本身也需要更新,否则会有警告信息。更新命令如下:

    dotnet tool update -g Volo.Abp.Cli
    

    也可以通过下面选项,在使用ABP CLI更新包的时候跳过版本检查。

    --skip-cli-version-check
    
  3. 卸载
    作为一个.net 工具,ABP CLI自然可以卸载,卸载命令如下:

    dotnet tool uninstall -g Volo.Abp.Cli
    
  4. 生成解决方案

    通过 abp new 命令可以快速的初始化一个解决方案。new 命令可以追加一些参数,生成不同的解决方案。下面罗列出一些生成不同解决方案的命令,其他的参数选项可参考 ABP CLI

    • 生成一个mvc框架的Web项目
      abp new <解决方案名称>
      
    • 生成一个前后端分离项目,目前只支持angular
      abp new <解决方案名称> -t app -u angular 
      
    • 生成一个WebApi项目,作为前后端分离的后端解决方案
      abp new <解决方案名称> -t app -u none
      
    • 分离Identity Server,上面几种方式创建的解决方案中集成了Identity Server,与服务端同一个端口
      abp new <解决方案名称> -t app -u none --separate-identity-server
      
    • 指定数据库提供程序,可以是关系型数据库(EF),或者非关系型数据库(mongodb)
      abp new <解决方案名称> -t app -u none --database-provider ef
      
    • 生成一个微服务解决方案
      abp new <解决方案名称> -t module --no-ui
      
    • 生成一个控制台程序
      abp new <解决方案名称> -t console
      
  5. 添加包

    通过以下命令将ABP提供的模块包添加到项目中,这种方式会自动在项目中的模块类中添加对于的包依赖,即[DependsOn(...)]特性。

    abp add-package <包名>
    
  6. 更新包
    通过以下命令,可以一次性更新全部ABP的依赖包到最新版本,需要在.sln或者.csproj文件所在的文件夹中执行。

    abp update
    


ABP 系列总结:

目录:ABP 系列总结

标签:abp,CLI,ABP,初识,https,new,com
From: https://www.cnblogs.com/wewant/p/17125180.html

相关文章

  • 索引初识
    索引(基础)一、索引介绍1.1、前言在数据库中,执行如下语句时:select*fromempwhereid=1000;mysql是从第一条记录开始遍历,直至找到id=1000的数据,然而这样查询的效率低,所以mysql允许通过建立索引来加快数据表的查询和排序。1.2、索引概念数据库的索引类似字典中的拼......
  • day02Python的初识
    第二节编程语言与Python介绍【一】引言基于上一节所学,有了计算机硬件,再在硬件之上安装好操作系统,我们就有了一个应用程序的运行平台,我们接下来的任务就是学习如何使用某款编程语言来开发应用程序。【二】编程语言分类【1】机器语言(1.1)什么是机器语言机器语言是站在计算......
  • 学习日记——初识CSS
    1.初识CSS①定义:级联样式表,用于网页的修饰②应用:主要应用于网页的美化工作③发展:1996CSS1.0→2004CSS2.0→2010CSS3.0④优势:内容和表现分离(HTML和Css分离)网页的表现统一,容易修改丰富的样式,使得页面的布局更加灵活减少网页的代码量,增加网页的浏览速度,节省网络带宽运用独立于页......
  • 初识结构体
    结构体使得c语言有能力描述复杂类型比如:描述一个人的具体细节,例如年龄,身高,性别 struct是c语言中的结构体首先先创造一个新的类型,设定好想要描述这个类型的成员变量用这个类型创建一个学生叫s,里面分别放入他的姓名,年龄,成绩,(结构体的创建和初始化)打印出这个学生的姓名,年龄,成......
  • Vue3 01 -- 初识Vue3
    Vue3组合式API 在vue2的版本里,数据和函数是分开维护的,并且调用时还要用到mount或者Create。但是在vue3的版本里,经过setup的语法糖,能够实现集中式维护,一个功能写的代码能放在一起,且代码量更少了。 使用create-vue创建项目在工作目录下,用命令行运行npminitvue@latest......
  • 初识flask的项目 手把手教你从零开始创建一个flask项目
    Flask框架流程什么是Flask:Flask诞生于2010年,使用python语言基于Werkzeug工具箱编写的轻量级Web开发框架Flask本身相当于一个内核,其他几乎所有的功能都要用到扩展(邮件:Flask-Mail,用户认证:Flask-Login,数据库:Flask-SQLAlchemy).Flask的核心在于Werkzeug(路由模块),Jinj......
  • ABP开发需要用到的命令
    #0、命令行在哪里执行?在VisualStudio的“解决方案资源管理器”的解决方案或者项目上点鼠标右键,选择“在终端中打开”。#1、安装abp官网文档地址:https://docs.abp.io/en/abp/latest/CLIABPCLI是一个dotnetglobaltool.使用命令行窗口安装:~~~dotnettoolinstall-g......
  • 初识指针
    指针:就是地址,是由解引用操作符来找到所想要的对象,指针变量:是用来存放别人的地址的内存是怎么编号的?一般计算机是32位或者64位,例:32位的计算机是有32根地址线而地址是物理线是可以通电的,正电就是1,负电就是0,而这些线全部通电有些电是正的有些是负的,而这些电就会产生电信号,电信号......
  • csrf与auth初识BBS项目
    csrf相关的装饰器#与csrf验证相关#打开csrf中间件后,方法都需要验证''' 打开csrf的中间件之后,有几个方法不验证 关闭csrf的中间件之后,有几个方法验证'''fromdjango.views.decorators.csrfimportcsrf_exempt,csrf_protect@csrf_exempt#不再检测,局部禁用(前提是全站......
  • 初识文件管理
    初识文件管理1、文件的属性2、文件内部的数据应该怎样组织起来3、文件之间应该怎样组织起来4、操作系统应该向上提供哪些功能5、从上往下看,文件应如何存放在外存6、其他需要由操作系统实现的文件管理功能知识回顾......