Oxite 项目结构分析

  Oxite中有6个Project,每个项目各自作为项目架构中的不同的层。下面我们来各自的分析一下这6个项目。

  我们可以看到这六个项目分别是Oxite,LinqToSqlDataProvider,MVC,Test,OxiteSite,(Oxite.Database 需要安装SQL Server2005)。

  1. Oxite

  该项目中包含了Routing的定义,Model和Services服务层的代码,还有Oxite运行时的后台服务类,配置类,同时,在该项目中也定义了数据访问层的接口,但并没有实现。

BackgroundServices 定义了插件的服务类,Extensions 则是各种常用方法的扩展,如IP地址,字符串,以及反射。Handlers 对HttpHandler进行重载的类。用于对用户请求进行操作。Infrastructure 本目录中有
大量的类,定义了公用方法,Model 这个对OO来说最容易理解,就是对象的定义,在MVC中的M。Repositoris Oxite的数据访问层接口,使用了
Repository模式,和Linq2SQL配合。Routing 对Routing规则的定义和扩展。,同时也有相应的约束。Services Oxite的服务层,也就是传统三层架构中的中间服务层。内有服务的接口和具体实现。Validation 一些常用的验证方法。

  2. LinqToSqlDataProvider

  This project contains implementations of all the repositories and uses LinqToSql for data access. Currently it doesn't map the database directly to the entity objects but rather to an intermediate set of objects which are then translated into the standard Oxite entites. This is one of the areas we're looking at changing in a future release.

  该项目包据了数据访问层的实现,并用LinqToSql 进行数据库的操作。

  这个Project中用到了LinqToSql,在项目架构中充当的是数据访问层的实现。

  3. MVC

  本项目中包含控制器和视图层的所有代码,用于Controllers到Views的数据通信,并包含用WCF所写的MetaWeblog API用于提供对外服务。

ActionFilters 定义了各种拦截器Controllers 所
有的Controllers都在这个目录下定义。Extensions MVC框架中的一些方法扩展 BlogML,DateTime,HtmlHelper,HttpCookieInfrastructure 基础类ModelBinders 作用是将客户端提交的一个数据转化成Model,简单或
复杂类型。为Action生成复杂对象参数Results ?Services 对外的一些服务接口。Skinning 对主题皮肤操作的一些方法ViewModels 从Controller中的数据绑定到View时所用到。ContainerFactory 反射工厂Oxite
Application.cs 将Globle中的方法转移到这里,将Site项目只负责项目的显示。

  4.MVC.Test

  该项目定义了整个解决方案的测试类,使用Xunit.net 测试框架。

  5.Site

  该项目包含视图,主题和Web.Config文件。并将所有的C#代码放在了Oxite.Mvc项目中。

Site项目中是没有C#代码的,只负责视图的显示。Content 一些公用的内容,像公用图片,公用脚本,公用资源Skins 皮肤。
里面包含了主题所使用的样式文件和Scripts。 (我个人感觉将一些公用的Scripts放到Content下更
合适。)Views 视图Shared 公用的东东。像Error,Master
Page

  6. Oxite.Database

  数据库项目,方便数据库架构、数据的对比、更新与部署。

时间: 2024-09-14 14:22:26

Oxite 项目结构分析的相关文章

一起谈.NET技术,Oxite 项目结构分析

Oxite中有6个Project,每个项目各自作为项目架构中的不同的层.下面我们来各自的分析一下这6个项目. 我们可以看到这六个项目分别是Oxite,LinqToSqlDataProvider,MVC,Test,OxiteSite,(Oxite.Database 需要安装SQL Server2005). 1. Oxite 该项目中包含了Routing的定义,Model和Services服务层的代码,还有Oxite运行时的后台服务类,配置类,同时,在该项目中也定义了数据访问层的接口,但并没有实现.

Android学习笔记(3):Android项目结构分析

为了更好的了解Android的工程结构,我们在命令行窗口创建一个Android工程,在命令行窗口输入如下的命令: android create project -n HelloWorld -t android-19 -p E:\AndroidWS\HelloWorld -k pres.zxc.helloworld -a  MainActivity (-n指定创建的项目的名称,-t指定Android平台,-p指定工程的保存路径,-k指定项目的报名,-a指定Activity的名称) 然后来到我们的工

ENode 2.0 - 第一个真实案例剖析-一个简易论坛(Forum)

前言 经过不断的坚持和努力,ENode 2.0的第一个真实案例终于出来了.这个案例是一个简易的论坛,开发这个论坛的初衷是为了验证用ENode框架来开发一个真实项目的可行性.目前这个论坛在UI上是使用了最终一致性,也就是说当我们发帖或回帖后不会立马显示你的帖子或回复.当我们下一次刷新页面时,会显示出来.这点貌似很多人向我反馈不太习惯,接受不了,呵呵.我之所以这样做也是想看看最终一致性大家的接受程度如何,看来UI层面上的最终一致性,大部分人接受不了.回头我改进下效果,改为立即可以看到帖子或回复吧!另

不错的一篇面向对象的PHP开发模式(简写版)_php技巧

我看到有人在批判PHP,什么这地方不好用,那地方不好用的.其实严格地说起来,没有一门语言好用,也没有一门语言有一个严格的标准,凡事都有一个发展的过程,我们总不能等这些标准呀什么的都很完善了再用吧?我觉得不管用什么语言,写程序都要靠自己,一个程序员要有好的风格,思路等等.最近我在整理一些资料,现在发出一些,希望大家多提意见,多多扶持啊哈 ====================================== 面向对象的PHP开发模式(待完善中...) ====================

解读ASP.NET 5 & MVC6系列(6):Middleware详解

原文:解读ASP.NET 5 & MVC6系列(6):Middleware详解 在第1章项目结构分析中,我们提到Startup.cs作为整个程序的入口点,等同于传统的Global.asax文件,即:用于初始化系统级的信息(例如,MVC中的路由配置).本章我们就来一一分析,在这里如何初始化这些系统级的信息. 新旧版本之间的Pipeline区别 ASP.NET 5和之前版本的最大区别是对HTTP Pipeline的全新重写,在之前的版本中,请求过滤器的通常是以HttpModule为模块组件,这些组件

解读ASP.NET 5 & MVC6系列教程(6):Middleware详解_自学过程

在第1章项目结构分析中,我们提到Startup.cs作为整个程序的入口点,等同于传统的Global.asax文件,即:用于初始化系统级的信息(例如,MVC中的路由配置).本章我们就来一一分析,在这里如何初始化这些系统级的信息. 新旧版本之间的Pipeline区别 ASP.NET 5和之前版本的最大区别是对HTTP Pipeline的全新重写,在之前的版本中,请求过滤器的通常是以HttpModule为模块组件,这些组件针对HttpApplication里定义的各个周期内的事件进行响应,从而用于实现

Android编程入门之HelloWorld项目目录结构分析_Android

本文实例讲述了Android编程入门之HelloWorld项目目录结构.分享给大家供大家参考,具体如下: 我们介绍了如何搭建Android开发环境及简单地建立一个HelloWorld项目,本篇将通过HelloWorld项目来介绍Android项目的目录结构.本文的主要主题如下: 1.HelloWorld项目的目录结构 1.1.src文件夹 1.2.gen文件夹 1.3.Android 2.1文件夹 1.4.assets 1.5.res文件夹 1.6.AndroidManifest.xml 1.7

我的Android进阶之旅------>Android项目目录结构分析

此文章来自"博客园"博主,仅在此借鉴,学习 1.HelloWorld项目的目录结构 1.1.src文件夹 1.2.gen文件夹 1.3.Android 2.1文件夹 1.4.assets  1.5.res文件夹 1.6.AndroidManifest.xml 1.7.default.properties 1.HelloWorld项目的目录结构 (这个HelloWorld项目是基于Android 2.1的)在Eclipse的左侧展开HelloWorld项目,可以看到如下图的目录结构: 图

Qt Project源码结构分析

在网上阅读了QT入门教程系列文章,感谢豆豆博客的版主,把这么好的教程和大家分享,本文是对入门教程的笔记,以期抛砖引玉,听到大家的好见解. 希望大家更好更快的学习QT,达到自己的目标,实现自己的理想. 本文分析QT项目的结构,如头文件中代码的结构与功效,主源代码文件的结构与功效.也就是说头文件中应该放些什么,源代码文件中放些什么. 先看一个经典的例子,头文件: #ifndef FINDDIALOG_H #define FINDDIALOG_H #include <QtGui/QDialog> c