zoukankan      html  css  js  c++  java
  • Orchard 与 ABP架构比较 (aspnetboilerplate)

    前言:  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架构简图

  • 相关阅读:
    sqlite3 学习
    解释内存中的栈(stack)、堆(heap)和静态区(static area)的用法
    HTML基本语法
    linux shell脚本、命令学习
    laravel 缓存相关常用操作
    【扩展推荐】Intervention/image 图片处理
    【Laravel】 常用的artisian命令
    laravel开发调试工具laravel-debugbar的安装
    为PhpStorm添加Laravel 代码智能提示功能
    laravel5.5 安装
  • 原文地址:https://www.cnblogs.com/cabbage/p/Orchard-vs-Abp.html
Copyright © 2011-2022 走看看