当前位置: 首页 > news >正文

一、ABP框架框架摘要

ABP框架几点说明:

一、什么是ABP

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的?

  

 

ABP直接实践、

1、透过事物实体或本质,去了解概念,即不了解概念直接上手实践      

2、通过接触相似的概念,去靠近,了解新框架              -概念有  它解决的问题,发挥的作用

 

转载于:https://www.cnblogs.com/fger/p/10644651.html

相关文章:

  • Java-Runoob-高级教程-实例-字符串:02. Java 实例 - 查找字符串最后一次出现的位置...
  • “尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。”...
  • Http input plugin
  • elasticsearch+logstash+kibana部署
  • 物联网的概念
  • 漂亮数组 Beautiful Array
  • es6常用功能与异步详解(JS高级面试题)
  • python----__str__与__repr__的区别
  • OpenCV入门学习资料汇总
  • 性能测试必知必会
  • Typora + Mathpix Snip,相见恨晚的神器
  • MongoDB 介绍
  • ActiveMQ( 一) 同步,异步,阻塞 JMS 消息模型
  • Python基础之集合
  • vue父组件给子组件传值:属性的形式
  • 《用数据讲故事》作者Cole N. Knaflic:消除一切无效的图表
  • 【RocksDB】TransactionDB源码分析
  • 2017-09-12 前端日报
  • Cumulo 的 ClojureScript 模块已经成型
  • echarts的各种常用效果展示
  • ES6之路之模块详解
  • javascript 总结(常用工具类的封装)
  • k8s如何管理Pod
  • node.js
  • pdf文件如何在线转换为jpg图片
  • scrapy学习之路4(itemloder的使用)
  • SpingCloudBus整合RabbitMQ
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 规范化安全开发 KOA 手脚架
  • 缓存与缓冲
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 浅谈Golang中select的用法
  • 使用docker-compose进行多节点部署
  • 自动记录MySQL慢查询快照脚本
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • # Maven错误Error executing Maven
  • $jQuery 重写Alert样式方法
  • (23)Linux的软硬连接
  • (Git) gitignore基础使用
  • (二)linux使用docker容器运行mysql
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (附源码)计算机毕业设计ssm电影分享网站
  • (九)信息融合方式简介
  • (论文阅读22/100)Learning a Deep Compact Image Representation for Visual Tracking
  • (三)centos7案例实战—vmware虚拟机硬盘挂载与卸载
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (转)大型网站的系统架构
  • (转)可以带来幸福的一本书
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)
  • .Net IOC框架入门之一 Unity
  • .NET Reactor简单使用教程
  • .NET 将多个程序集合并成单一程序集的 4+3 种方法