前言:  ABP框架经常在一些.NET群中听群友提起,以前也浏览过官网,大致了解它是一个框架,直到今天本人才正式下载源码入门 ...

经过两个小时的ABP中文文档入门(感谢各位辛勤的翻译者) ,大致了解到 ABP框架提供了一些类似 Orchard的功能,如 日志,多租户,事件总线,多语言等.

由于刚刚接触ABP框架,下面来谈谈我对它的基本理解,不当之处敬请各位指正 :

  Abp Orchard 作用
项目定位 开发框架 内容管理系统(CMS)+开发框架  
基础框架 aspnetboilerplate(ABP.dll) (源码) Orchard.Framework 两者都不能独立运行, 提供框架基础架构
核心实现 module-zero (源码), 纯库,没有UI实现部分,不能独立运行 Orchard.Core(核心模块集合,里面的每一个文件夹均为一个模块),
有UI实现.
ABP提供常用的基础功能,ABP有用户,角色,多租户,配置管理,Orchard有CMS相关的核心模块
模块生成 module-zero-template(源码),提供在线版. Orchard.CodeGeneration(命令行) ABP官网提供一个在线的模块创建功能(地址),此生成器有两个版本:
1.仅依赖核心ABP  
2.依赖Module-Zero.
ABP在创建模块的时候并没有提供输入一些meta信息,而orchard可以.

一直以来,很多.NET开发者都非常喜欢Orchard这个项目,但是部分有洁癖的开发者总是想方设法将它剥离成一个干净的框架,如OrchardNoCms,

如今ABP可能是你最佳的选择:

1 .ABP拥有非常类似Orchard的项目结构(笔者甚至认为ABP的灵感取自Orchard).

2. 功能上也提供与Orchard同等的特性, 如多租户,模块,日志,用户,角色,授权等.

3. ABP没有附带任何额外的业务代码, 用户与角色这样核心功能也在是Zero模块中实现 ,如果你不喜欢可以不用.

利用ABP框架进行二次开发,如果不关注框架本身,直接使用线上的地址生成模块下载到本地, 再用nuget下载 Abp.dll和 Abp.zero.dll(可选)及其它三方依赖就可以直接开发Web应用程序.

ABP框架为企业用户提供一个付费的后台管理实现  :  aspnetzero(地址,$699,$1699,$2799 三种license) , 利用这个增值模块, 你可以拥有一套基于Bootstrap的后台管理UI来管理多租户及用户角色等基本信息,当然你也可以使用它开发其它功能.

好了最后再说一句:

Abp尚在主力开发期,截止目前还未到达1.0版,接口变更很频繁,如果用于产品环境将要面临升级与不升级的纠结中!

如果你非侵入式的进行ABP二次开发,升级时改动略小, 如果是侵入式的,那么升级将是非常痛苦的事情!

Orchard是一个经历6年的项目,由微软ASP.NET小组成员主刀, 目前进入主力维护优化期,接口非常稳定,而且使用Orchard开发,可以尽可能的非侵入(本人一直是非侵入坚持者),

模块间并不需项目依赖,即使需要调用另一个模块的方法(模块通信),也可以使用Orchard强大的事件总线实现!

下面来一张ABP架构简图

Orchard 与 ABP架构比较 (aspnetboilerplate)的更多相关文章

  1. ABP架构设计交流群-上海线下交流会的内容分享(有高清录像视频的链接)

    点这里进入ABP系列文章总目录 ABP架构设计交流群-7月18日上海线下交流会内容分享 因为最近工作特别忙,很久没有更新博客了,真对不起关注我博客和ABP系列文章的朋友! 原计划在7月11日举行的AB ...

  2. ABP架构学习系列一 整体项目结构及目录

    本系列是基于aspnetboilerplate-0.8.4.0版本写的,其中原因是由于较高的版本太抽象难以理解和分析,对于还菜菜的我要花更多的时间去学习. abp的源码分析学习主要来源于 HK Zha ...

  3. ABP架构学习系列

    ABP实践学习系列 ABP Zero 本地化语言的初始化和扩展 ABP Zero 导航菜单之角色权限 ABP Zero示例项目问题总结  ABP后台服务之作业调度Quartz.NET   ABP架构学 ...

  4. ABP架构

    ABP架构 一.什么是ABP架构? ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ASP.NET Boilerplate 基于DDD的经典分层 ...

  5. ABP架构解析

    ABP总体介绍 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应 ...

  6. ABP架构学习系列三:手工搭建ABP框架

    由于公司的项目才接触到ABP这个框架,当时就觉得高大上,什么IOC.AOP.ddd各种专业词汇让人激情 澎湃,但在使用过程中碰到了许多坑,可能也许是没有去看源码导致的,但工作确实没有那么多时间让人去慢 ...

  7. ABP架构学习系列二:ABP中配置的注册和初始化

    一.手工搭建平台 1.创建项目 创建MVC5项目,手动引入Abp.Abp.Web.Abp.Web.Mvc.Abp.Web.Api 使用nuget添加Newtonsoft.Json.Castle.Cor ...

  8. ABP架构学习系列四:集成Dapper

    之前,一直想集成Dapper到项目中,但是一直没成功,今天把abp升级到最新版,然后按教程来,就可以了,呵呵    现在,基于上一篇的源码进行升级和集成dapper,将abp升级到3.8.2   官方 ...

  9. abp架构添加实体并使用迁移功能生成表

    参考: https://aspnetboilerplate.com/Pages/Articles/Introduction-With-AspNet-Core-And-Entity-Framework- ...

随机推荐

  1. android BaseAdapter getView 理解

    ListView是安卓中很经常使用的一个控件. 安卓设计使用Adapter来对ListView进行管理. 可是系统提供的Adapter无法满足一些复杂的显示情况,这个时候我们就须要使用BaseAdap ...

  2. cocos2d-x与ISO内存管理(转)

    一,IOS与图片内存 在IOS上,图片会被自动缩放到2的N次方大小.比如一张1024*1025的图片,占用的内存与一张1024*2048的图片是一致的.图片占用内存大小的计算的公式是:长*宽*4.这样 ...

  3. struts2内置拦截器和自定义拦截器详解(附源码)

    一.Struts2内置拦截器 Struts2中内置类许多的拦截器,它们提供了许多Struts2的核心功能和可选的高级特 性.这些内置的拦截器在struts-default.xml中配置.只有配置了拦截 ...

  4. centos7下忘记mysql5.7密码

    才装完的mysql,转眼密码就忘记了,找了一圈的修改密码方法,做下记录! 编辑mysql配置文件. [root@localhost ~]# vi /etc/my.cnf 在[mysqld]配置节下新增 ...

  5. CSS3多背景应用

    /*多背景应用*/ .wrapper { width: 640px; height: 1000px; margin: auto; background: url(./images/head.jpg) ...

  6. Python 操作文件、文件夹、目录大全

    # -*- coding: utf-8 -*- import os import shutil # 一. 路径操作:判断.获取和删除 #1. 得到当前工作目录,即当前Python脚本工作的目录路径: ...

  7. python学习笔记(2)--sublimeText3运行python

    https://www.zhihu.com/question/22904994 知乎用户 To the knowledge 74 人赞同 如果是想在sublime里要python shell那种交互或 ...

  8. Keil的使用方法(汇总)

    推荐 分享一个大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来! http://www.captainbed.net/strongerhuang 软件的开发 ...

  9. springboot集成jdbcTemplate

    这里使用springboot自带的jdbcTemplate连接mysql数据库 1. 添加依赖包 <!-- jdbc --> <dependency> <groupId& ...

  10. msyql的内存计算

    本文将讨论MySQL内存相关的一些选项,包括: 单位都是b,不是kb,即1B=1/(1024*1024*1024)G 1)全局的buffer,如innodb_buffer_pool_size: 2)线 ...