OXite解读(1)----- 概述
开源博客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,2,C是3,V是5
相信看到这里大家都可以看到已经基本可以运行期这个系统了。下一章,我将会是解析数据库
转载于:https://www.cnblogs.com/maydear/archive/2009/07/21/OXite_1_20090721.html
OXite解读(1)----- 概述相关推荐
- Jsoup代码解读之一-概述
转载自 Jsoup代码解读之一-概述 今天看到一个用python写的抽取正文的东东,美滋滋的用Java实现了一番,放到了webmagic里,然后发现Jsoup里已经有了-觉得自己各种不靠谱啊!算了 ...
- Java Review - PriorityQueue源码解读
文章目录 Pre PriorityQueue 概述 PriorityQueue 继承关系 PriorityQueue通过用数组表示的小顶堆实现 时间复杂度 构造函数 方法 add()和offer() ...
- Resnet的pytorch官方实现代码解读
Resnet的pytorch官方实现代码解读 目录 Resnet的pytorch官方实现代码解读 前言 概述 34层网络结构的"平原"网络与"残差"网络的结构图 ...
- 基于SegNet和UNet的遥感图像分割代码解读
基于SegNet和UNet的遥感图像分割代码解读 目录 基于SegNet和UNet的遥感图像分割代码解读 前言 概述 代码框架 代码细节分析 划分数据集gen_dataset.py UNet模型训练u ...
- jsoup获得css,Jsoup代码解读之五-实现一个CSS Selector
Jsoup代码解读之七-实现一个CSS Selector 当当当!终于来到了Jsoup的特色:CSS Selector部分.selector也是我写的爬虫框架webmagic开发的一个重点.附上一张s ...
- 深入解读:获得 2021 Forrester 全球云数仓卓越表现者的阿里云数据仓库
简介: 阿里云在最新发布的 The Forrester Wave™: Cloud Data Warehouse, Q1 2021 全球云数据仓库技术评比中进入卓越表现者象限,成为国内唯一入选厂商.本文 ...
- MVX-Net论文解读
MVX-Net论文解读 1.概述 2.基于PointFusion的融合方法 3.基于VoxelFusion的融合方法 4.总结 论文地址:[1904.01649] MVX-Net: Multimoda ...
- VINS-Mono视觉SLAM总体设计框架解读
文章目录 写在前面 论文解读 vins-mono 概述 1. Measurement Preprocessing 过程 2. Estimator Initialization 过程 3. Tightl ...
- LLMs之Alpaca:《Alpaca: A Strong, Replicable Instruction-Following Model》翻译与解读
LLMs之Alpaca:<Alpaca: A Strong, Replicable Instruction-Following Model>翻译与解读 导读:Alpaca是一个在Meta的 ...
最新文章
- 声明一个图书类(Java)
- html5手机页面的那些meta
- java的集合:List、Set和Map
- sqlite创建表联合主键的sql写法、执行sql文件、不支持右连接、获取年份、case when 的使用
- 请写一段 PHP 代码 ,确保多个进程同时写入同一个文件成功
- HTML5给我们带来了什么
- major头文件_第三讲,可选头文件格式,以及节表
- c++:ISO C++ forbids declaration of ‘xxx’ with no type
- ORA-00054:资源正忙,但指定以nowait方式
- 「WTF系列」深入Java中的位操作
- linux只打包空目录,linux 打包当前文件夹下所有文件的方法
- html svg单击事件,html5 svg 中元素点击事件添加方法
- 券商如何做好机构服务
- esp8266保存html文件,八,ESP8266 文件保存数据(示例代码)
- 大数据-玩转数据-hive的安装
- 端口映射工具 porttunnel
- 高性能计算在石油物探中的应用现状与前景
- IM消息ID技术专题(五):开源分布式ID生成器UidGenerator的技术实现
- 如何管理Apple Watch通知设置?
- OD使用教程8(上)- 调试篇08|解密系列
热门文章
- python LAADS+Selenium下载MODIS数据
- SQL基础【一、SQL简介】
- MongoDB 性能瓶颈分析
- oracle数据库表空间文件收缩实例
- 你不知道Linux的10个最危险的命令
- webstorm 激活方法
- PHP基础知识--函数
- 在使用Asp.net制作网站的时候遇到的问题(二)
- mysql auto position_MHA-Failover(GTID,Auto_Position=0)
- shell 安装java_Shell脚本实现在Linux系统中自动安装JDK