一起谈.NET技术,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,HttpCookie
  • Infrastructure 基础类
  • ModelBinders 作用是将客户端提交的一个数据转化成Model,简单或复杂类型。为Action生成复杂对象参数
  • Results
  • Services 对外的一些服务接口。
  • Skinning 对主题皮肤操作的一些方法
  • ViewModels 从Controller中的数据绑定到View时所用到。
  • ContainerFactory 反射工厂
  • OxiteApplication.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,MasterPage

  6. Oxite.Database

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

 

时间: 2024-09-26 19:46:53

一起谈.NET技术,Oxite 项目结构分析的相关文章

Oxite 项目结构分析

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

一起谈.NET技术,Silverlight 结构分析

Silverlight是微软提供的一种Web前端应用程序开发框架,是微软RIA的主要应用程序开发平台.Silverlight以浏览器的插件方式,提供丰富的多媒体展示功能以及更多交互性的Web前端解决方案. 本文的重点在于探讨Silverlight的整体架构,以及Silverlight应用程序是如何在浏览器中运行的,各个子部分的作用是什么. 1.整体结构 Silverlight是以浏览器插件方式运行的,在安装完Silverlight后,我们来看一下安装目录:C:\ProgramFiles\Micr

一起谈.NET技术,WPF 企业内训全程实录(中)

摘要 WPF企业内训全程实录由于文章比较长,所以一共拆分成了三篇,上篇WPF企业内训全程实录(上)主要讲了基础,这篇作为该实录的中篇,起着承上启下的作用,主要讲解开发模式.团队协作及应用框架.其实如果大家仔细看目录,可以发现我安排的顺序是首先讲解最基本的概念和基础内容.然后过渡到开发模式及框架.最后结合其他技术和项目实际运用,这也是学习并应用一门技术最好的流程.上篇实际上主要有两个侧重点:一则就是理清脉络--历史渊源.概念引入及基本阐述:二则是讲解WPFBasic--主要讲解WPF的每个知识点,

一起谈.NET技术,WPF 基础到企业应用系列3——WPF开发漫谈

1.开篇前言      首先很高兴这个系列能得到大家的关注和支持,基于对大家负责和对自己负责的态度,我会不断努力写好这个系列,分享自己的微薄技术和经验,希望在帮助别人的同时也不断提升自己.由于这篇文章稍多,所以读者花的时间长了一些,也希望大家能够见谅,这个系列以后会每周发三到四篇左右(主要是写一篇差不多要花几晚上,感觉思维比较发散),除了讲WPF技术本身之外,也会讲一些项目具体开发,所以敬请关注.在前两次的文章中我们对WPF有了一个比较全面的认识,那么在本篇文章当中,除了讲一些理论知识外,我们会

《创业家》牛文文:少谈点模式多谈点技术

"模式"如同当年的"主义",流行于各种创业大赛.创业励志节目.论坛的"街头"式秀场 文/创业家 牛文文 "美国某某公司你知道吧?就是刚被戴尔.惠普.思科十几亿美元抢购的那家.我们的模式和它的一样,现在还没赢利,可将来起码有十几亿人民币的市值." "我开了小煤矿,但煤运不出去,上商学院之后受到启发,想搞模式创新,具体讲就是想在铁路边上搞个煤炭物流开发区,建一个大的物流和信息流平台,把分散的煤炭集中在我这个园区,这样和铁

Project Tango已经从Google先进技术和项目毕业了

摘要: Google 的 Project Tango 不久前才刚刚发货,最近又有好消息传来.它已经从Google先进技术和项目(传说中的ATAP)毕业了,转移到常规业务部门.接下来很可能就会被商业化. Google 2014年2月 Google 的 Project Tango 不久前才刚刚发货,最近又有好消息传来.它已经从Google先进技术和项目(传说中的ATAP)毕业了,转移到常规业务部门.接下来很可能就会被商业化. Google 2014年2月份公布了Project Tango ,目前已经

一起谈.NET技术,Microsoft NLayerApp案例理论与实践 - 项目简介与环境搭建

项目简介 Microsoft – Spain团队有一个很不错的面向领域多层分布式项目案例:Microsoft – Domain Oriented N-Layered .NET 4.0 App Sample(在本系列文章中,我使用NLayerApp作为该项目的名称进行介绍),在codeplex上的地址是:http://microsoftnlayerapp.codeplex.com/. 它是学习领域驱动设计(DDD)的一个非常不错的案例项目.该项目采用的是经典的DDD架构,而不是CQRS架构,但我觉

一起谈.NET技术,百万开发者拥戴!七大.NET著名开源项目

AJAX 控件工具包 仅仅五年时间,自从AJAX的概念提出来以后,使用JAVASCRIPT,XML和异步通信去提升用户的在线体验已经从新颖的想法变为实在的需要.因为AJAX驱动的要求已经变得很普通,不久开发者们都投入到开发AJAX框架中去,这使得象日历和客户端表单验证这样的功能变得很容易实现. .NET开发者在处理AJAX方面有ASP.NET AJAX Control Toolkit工具包这个很好的解决方案.它由微软公司和开发者社区联合开发,提供了多种功能强大的控件,如评分控件,模态弹出窗口,密

一起谈.NET技术,使用VS2010的Database项目模板统一管理数据库对象

Visual Studio 2010 有一个数据库项目模板:Visual Studio Database Project(以下简称VSDP),VS 2003/2005/2008也有类似的项目,在VS2010上的得到了很大的加强,现在还具备了智能感知,构建时验证和自动部署功能,VSDP是针对典型的数据库开发任务而设计的,可以对原有数据库反向工程,添加表,存储过程和其他数据库项目,而且有选择性地将修改部署到目标数据库中.他的主要特性有: 1.模型对比(Schema Compare) 在项目的维护和升