开源博客OXITE,这个博客系统是使用ASP.NET MVC来实现,最新版本的是2009年2月15发布的。MVC并不是什么新东西,我研究OXITE主要的目的其实就是为了学习MVC而已。所以我们从结构上去分析这个东西,因为一次写分析类的文章,可能写的并不好。看到说得不准确的欢迎指出,一起进步嘛。

一、什么是Oxite;

Oxite是微软发布的开源博客平台。

Oxite平台使用微软公共许可(Microsoft Public License)授权方式,这是微软经过开放源代码促进会(OIS)认证的开源许可之一。

微软称,Oxite是一种具有可拓展性的、标准兼容的内容管理系统,旨在支持博客或更大型的网 站,能支持广播、引用通告、匿名或验证评论、个人全球统一标识(Gravatar)头像及在任何页面级别输出RSS Feed等功能。用户可在某一站点上创建和编辑一整套页面,并可在页面中定制HTML代码,而且还可在单个站点上创建多个博客。

微软称,开发Oxite平台的最初目的就是向开发者展示ASP.Net MVC的功能。
微软使用Oxite创建了Mix Online网站,并向开发者提供了该站点的源代码以供学习。Mix Online是一个网络社区,其中心内容是微软的Mix网络开发者会议。

微软Oxite项目负责人埃里克·波特尔(Erik Porter)称,Oxite并非现有的、已经确立的博客系统的直接竞争者,也无意挑战微软自身的SharePoint工具,后者也带有内容管理系统的功能。他表示,Oxite平台目前的对象仅为开发者,但最终可能适用于全体公众。

埃里克·波特尔(Erik Porter)在一个Oxite论坛上写道:“我们对Oxite平台没有任何其他计划,只是希望为开发者提供一个能运行任何站点的范本。也就是说,到目前为止它只是一个社区项目,但如果社区决定要把它带往其他方向,我们也不会加以阻止。”

二、我为什么选择Oxite

对于Oxite其实我只是在无聊的时候想找下相关MVC开发的现成项目。所以就进行了一番研究,我觉得这个系统十分适合初学者,如果你觉得不能理解面向对象,可以认真看一下这个Oxite,它充分的现实出面向对象建模的思想,在学校学习的时候我们老师总会用车,人之类的来描述面向对象,而我们在网上看到的大部分代码,真正用到面向对象思想的其实不多。甚至可以说是教程式的。完全不能体现出面向对象的精髓。Oxite是轻量级的,它并不像petshop那个巨型和复杂。可能你第一打开代码的时候会被他的类库项目吓着。。当你静下心来的时候。你会发现,这个是一个很好的学习型作品。

三、所需环境

1.         Visual Studio 2008 SP1,

2.         ASP.Net MVC 1.0

3.         xunit-1.5

4.         AntiXssLibraryV1.5Installer.msi

5.         Enterprise Library 4.1 - October 2008.msi

6.         Microsoft SQL Server 2005

7.         BlogML 2.zip

以上是我使用的版本,这些版本能让整个项目跑起来。页面很简单,也很简洁,因为这个项目目前只是一个显示技术的作用的项目。

四、项目结构

Oxite解决方案由5个项目组成:

1.         Oxite; (核心基础项目)

2.         Oxite.LinqToSqlDataProvider;(数据基础项目依赖于Oxite)

3.         Oxite.Mvc;(相当于MVC中的C层,Controllers层的作用,依赖于Oxite)

4.         Oxite.Mvc.Tests;(测试层)

5.         OxiteSite;(显示层)

M其实就是1,2C3,V5

相信看到这里大家都可以看到已经基本可以运行期这个系统了。下一章,我将会是解析数据库

转载于:https://www.cnblogs.com/maydear/archive/2009/07/21/OXite_1_20090721.html

OXite解读(1)----- 概述相关推荐

  1. Jsoup代码解读之一-概述

    转载自   Jsoup代码解读之一-概述 今天看到一个用python写的抽取正文的东东,美滋滋的用Java实现了一番,放到了webmagic里,然后发现Jsoup里已经有了-觉得自己各种不靠谱啊!算了 ...

  2. Java Review - PriorityQueue源码解读

    文章目录 Pre PriorityQueue 概述 PriorityQueue 继承关系 PriorityQueue通过用数组表示的小顶堆实现 时间复杂度 构造函数 方法 add()和offer() ...

  3. Resnet的pytorch官方实现代码解读

    Resnet的pytorch官方实现代码解读 目录 Resnet的pytorch官方实现代码解读 前言 概述 34层网络结构的"平原"网络与"残差"网络的结构图 ...

  4. 基于SegNet和UNet的遥感图像分割代码解读

    基于SegNet和UNet的遥感图像分割代码解读 目录 基于SegNet和UNet的遥感图像分割代码解读 前言 概述 代码框架 代码细节分析 划分数据集gen_dataset.py UNet模型训练u ...

  5. jsoup获得css,Jsoup代码解读之五-实现一个CSS Selector

    Jsoup代码解读之七-实现一个CSS Selector 当当当!终于来到了Jsoup的特色:CSS Selector部分.selector也是我写的爬虫框架webmagic开发的一个重点.附上一张s ...

  6. 深入解读:获得 2021 Forrester 全球云数仓卓越表现者的阿里云数据仓库

    简介: 阿里云在最新发布的 The Forrester Wave™: Cloud Data Warehouse, Q1 2021 全球云数据仓库技术评比中进入卓越表现者象限,成为国内唯一入选厂商.本文 ...

  7. MVX-Net论文解读

    MVX-Net论文解读 1.概述 2.基于PointFusion的融合方法 3.基于VoxelFusion的融合方法 4.总结 论文地址:[1904.01649] MVX-Net: Multimoda ...

  8. VINS-Mono视觉SLAM总体设计框架解读

    文章目录 写在前面 论文解读 vins-mono 概述 1. Measurement Preprocessing 过程 2. Estimator Initialization 过程 3. Tightl ...

  9. LLMs之Alpaca:《Alpaca: A Strong, Replicable Instruction-Following Model》翻译与解读

    LLMs之Alpaca:<Alpaca: A Strong, Replicable Instruction-Following Model>翻译与解读 导读:Alpaca是一个在Meta的 ...

最新文章

  1. 声明一个图书类(Java)
  2. html5手机页面的那些meta
  3. java的集合:List、Set和Map
  4. sqlite创建表联合主键的sql写法、执行sql文件、不支持右连接、获取年份、case when 的使用
  5. 请写一段 PHP 代码 ,确保多个进程同时写入同一个文件成功
  6. HTML5给我们带来了什么
  7. major头文件_第三讲,可选头文件格式,以及节表
  8. c++:ISO C++ forbids declaration of ‘xxx’ with no type
  9. ORA-00054:资源正忙,但指定以nowait方式
  10. 「WTF系列」深入Java中的位操作
  11. linux只打包空目录,linux 打包当前文件夹下所有文件的方法
  12. html svg单击事件,html5 svg 中元素点击事件添加方法
  13. 券商如何做好机构服务
  14. esp8266保存html文件,八,ESP8266 文件保存数据(示例代码)
  15. 大数据-玩转数据-hive的安装
  16. 端口映射工具 porttunnel
  17. 高性能计算在石油物探中的应用现状与前景
  18. IM消息ID技术专题(五):开源分布式ID生成器UidGenerator的技术实现
  19. 如何管理Apple Watch通知设置?
  20. OD使用教程8(上)- 调试篇08|解密系列

热门文章

  1. python LAADS+Selenium下载MODIS数据
  2. SQL基础【一、SQL简介】
  3. MongoDB 性能瓶颈分析
  4. oracle数据库表空间文件收缩实例
  5. 你不知道Linux的10个最危险的命令
  6. webstorm 激活方法
  7. PHP基础知识--函数
  8. 在使用Asp.net制作网站的时候遇到的问题(二)
  9. mysql auto position_MHA-Failover(GTID,Auto_Position=0)
  10. shell 安装java_Shell脚本实现在Linux系统中自动安装JDK