ABP - 初识 ABP

这篇具有很好参考价值的文章主要介绍了ABP - 初识 ABP。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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 体系结构图

这也是领域驱动设计的基本分层结构。
ABP - 初识 ABP

ABP 框架初始化

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

使用ABP CLI初始化ABP项目

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

    dotnet tool install -g Volo.Abp.Cli
    

    ABP - 初识 ABP

    安装完成之后,在命令行中输入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 - 模块加载机制文章来源地址https://www.toymoban.com/news/detail-442706.html

到了这里,关于ABP - 初识 ABP的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Day956.代码现代化 -遗留系统现代化实战

    Hi,我是 阿昌 ,今天学习记录的是关于 代码现代化 的内容。 代码现代化的主要模式。 大体的脉络是这样的: 先对代码做可测试化重构,并添加测试; 在测试的保护下,安全地重构; 在测试的保护下,将代码分层。 先来看看 如何让代码变得可测 ,这是遗留系统现代化的

    2024年02月01日
    浏览(122)
  • Day960.架构现代化-微服务 -遗留系统现代化实战

    Hi,我是 阿昌 ,今天学习记录的是关于 架构现代化-微服务 的内容。 在 自治气泡模式 的基础上,通过 事件拦截 来实现 数据同步 ,给气泡和遗留系统之间又加上 API 访问 这个通信渠道。 这时的自治气泡就和真正的微服务差不多了。 有了这种模式,在开发一个全新的需求时

    2024年02月02日
    浏览(41)
  • 《遗留系统现代化》读书笔记(基础篇)

    目录 为什么要对遗留系统进行现代化? 什么是遗留系统?  遗留系统的现代化价值 总结 遗留系统的四化建设 代码现代化 架构现代化 DevOps 现代化 团队结构现代化 总结 本文地址:《遗留系统现代化》读书笔记(基础篇)_陆业聪的博客-CSDN博客  你现在所写的每一行代码,

    2024年02月16日
    浏览(39)
  • 微前端详解(可扩展的现代化前端架构)

    什么是微前端? 微前端是一种通过将前端应用程序拆分成更小、更独立的部分来构建应用程序的方法。每个部分都可以独立开发、测试、部署和维护,同时又能够无缝地集成到整体应用程序中。微前端的目标是解决单体应用程序的复杂性和僵化性,使团队能够更加灵活地工作

    2024年03月22日
    浏览(46)
  • 现代化 Android 开发:Jetpack Compose 最佳实践

    作者:古哥E下 如果一直关注 Compose 的发展的话,可以明显感受到 2022 年和 2023 年的 Compose 使用讨论的声音已经完全不一样了, 2022 年还多是观望,2023 年就有很多团队开始采纳 Compose 来进行开发了。不过也有很多同学接触了下 Compose,然后就放弃了。要么使用起来贼特么不顺手

    2024年02月17日
    浏览(48)
  • 深入探索Angular:构建现代化的Web应用

    Angular是一种流行的前端开发框架,被广泛用于构建现代化的Web应用。作为一名技术专家,我们需要深入了解Angular的核心原则和设计思想,并学会如何应用它来构建出色的Web应用。本篇博客将详细介绍Angular,包括其基本概念、关键组件以及实际案例。 Angular是一个基于TypeScr

    2024年02月12日
    浏览(55)
  • 云原生微服务:现代化应用开发的支柱

    云原生微服务是一种创新的应用架构模式,它结合了云计算和微服务架构的最佳实践。本文将介绍云原生微服务的定义、特点和优势,并探讨它在现代化应用开发中的重要性和应用。 在当今数字化时代,企业面临着日益复杂的应用开发挑战。传统的单块应用已经无法满足快速

    2024年01月19日
    浏览(54)
  • 【观察】以超融合创新架构,加速企业应用现代化

    我们知道,数字化转型的不断加速,核心就是应用的加速。在整个数字化体系中,软件应用是让一切发挥价值的落地路径。在应用发挥能力之前,企业需要进行大量软硬件准备以及应用开发工作;在应用开始发挥能力之,企业也需要进行大量的运维、管理、安全工作,来确保

    2024年02月15日
    浏览(28)
  • Day963.如何拆分数据 -遗留系统现代化实战

    Hi,我是 阿昌 ,今天学习记录的是关于 如何拆分数据 的内容。 如何拆分数据 ,这个场景在建设新老城区,甚至与其他城市(外部系统)交互时都非常重要。 作为开发人员,理想中的业务数据存储方式是什么样呢? 当然是负责一个业务的数据都在一张或几张名称相关的表中

    2024年02月03日
    浏览(32)
  • 云原生安全 - 构建强大的安全基石保障现代化应用

    随着云原生技术的兴起和广泛应用,越来越多的企业将其应用于现代化应用开发和部署。然而,随之而来的安全威胁也随之增加。在这篇文章中,我们将探讨云原生安全的重要性,以及如何构建强大的安全基石来保障现代化应用的安全性。 云原生应用通常是由大量的微服务组

    2024年02月15日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包