• Orchard源码分析(1):Orchard架构 (转)


    源码分析应该做到庖丁解牛,而不是以管窥豹或瞎子摸象。所以先对Orchard架构有个整体的了解,以及对一些基本概念有所认识。
    创建一个基于Web的CMS(内容管理系统)不同于创建一个普通的Web应用程序:它更像是建立一个应用程序容器。 这样一个系统,必须拥有优秀的开放性、可扩展性。但是作为一个可扩展系统,它可能会面临应用程序"可用性"的挑战:在系统中的核心模块与未知的未来模块的组合,包括用户界面级别的整合。编排所有这些小零件,让互不知道的彼此的模块成一个连贯的整体,是Orchard是关键。
    本文主要参考官方文档"How Orchard works"以及Orchardch上的翻译。它解释了Orchard选择怎样的构架的,以及怎样获得灵活性和良好的用户体验。
     
    一、Orchard架构
    Modules
    Core
    Orchard Framework
    ASP.NET MVC NHibernate Autofac Castle
    .NET ASP.NET
    IIS or Windows Azure

    可见Orchard运行于ASP.NET之上,使用了几个包括包括ASP.NET MVC在内的开源框架或类库。位于Orchard最底层的是Orchard框架(Orchard.Framework程序集),其上是核心模块(Core Modules)以及来自官方或非官方的其他模块(Modules)。实际上我们可以在任何一层上进行开发,通常我们是在Modules层开发,创建新的Module或Theme或修改已经存在的Module或Theme。
    二、Orchard基础
    Orchard CMS基于现有的框架和库构建,包括ASP.NET MVC,NHibernate,Autofac,Castle等。
    三、Orchard框架(Orchard.Framework程序集)
    Orchard.Framework程序集位于Orchard最底层,它包含应用程序引擎以及不适合分离到模块的功能。这些都是最基础的东西,甚至连最基本的模块将不得不依赖它。你可以把它看作是Orchard的基础类库。
    四、Orchard核心模块(Orchard.Core项目及Orchard.Core程序集)
    Orchard.Core项目中包含了一组Orhcard运行所必须的模块。其它模块可以安全地依赖到这些模块上,因为这些模块总是可用的。比如 feeds,navigation,routable模块。当然,就像上面所说,我们可以基于Orchard的任何一层进行开发,如果有必要,我们完全可以自己来设计"Core"。
    五、模块(Moduls)
    Orchard默认发行版包含了一些像blogging、pages的内置模块,并且也能很方便的创建第三方模块。
    模块就是用于扩展Orchard的包含module.txt文件的ASP.NET MVC Area。 
    模块通常包含事件处理程序(event handlers),内容类型(content types)和它们的默认渲染模板以及一些管理界面(Admin UI)。
    对模块".csproj"文件或".csproj"引用文件的修改都能使模块自动被动态编译。也就是说可以不将模块编译成静态程序集甚至可以不使用Vistual Studio来创建或编辑模块。
    六、主题(Themes)
    主题可以让Orchard用户自定义站点显示界面,量身定制他们想要的站点风格。主题还可以有针对性的对Orchard模块所提供的任何模板进行样式重写、甚至是改变图像、布局等。
    主题位于Orchard网站根目录下的Themes文件夹中,包含theme.txt文件。
    七、租户/子站点(Tenants)
    Orchard支持子站点,即一套程序、一个应用程序域部署多个不同域名的站点。
    参考资料:
     
     
     
  • 相关阅读:
    Codeforces 601B. Lipshitz Sequence(单调栈)
    C++11正则表达式初探
    Codeforces 1051 D.Bicolorings(DP)
    数据库规范——学习小记
    2016 NEERC, Moscow Subregional Contest K. Knights of the Old Republic(Kruskal思想)
    10.2路径
    10.1jihe
    8/9三角形
    8/9,集合的运算
    6.2收费
  • 原文地址:https://www.cnblogs.com/mylct/p/4503442.html
Copyright © 2020-2023  润新知