Oxite 项目结构分析

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

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

image

  1. Oxite

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

image

  • 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 进行数据库的操作。

image

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

  3. MVC

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

image

  • 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项目中。

image

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

  6. Oxite.Database

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




本文转自today4king博客园博客,原文链接:http://www.cnblogs.com/jinzhao/archive/2010/04/01/1702507.html,如需转载请自行联系原作者
相关文章
|
小程序 数据库 开发者
小程序云开发联表数据查询以及云函数中的应用
1、联表查询 (1)lookup联接两个表格 (2)使用match进行条件查询 (3)直接返回学生成绩平均值 (4)只显示teacher和score这两个值 2、在云函数中的应用 (1)在云数据库中添加数据 (2)创建云函数并初始化数据库 (3)编辑云函数入口函数 (4)上传部署云函数
1153 0
小程序云开发联表数据查询以及云函数中的应用
|
6月前
|
人工智能 自然语言处理 语音技术
GPT-4o mini TTS:OpenAI 推出轻量级文本转语音模型!情感操控+白菜价冲击配音圈
GPT-4o mini TTS 是 OpenAI 推出的轻量级文本转语音模型,支持多语言、多情感控制,适用于智能客服、教育学习、智能助手等多种场景。
328 2
GPT-4o mini TTS:OpenAI 推出轻量级文本转语音模型!情感操控+白菜价冲击配音圈
|
机器学习/深度学习 算法 决策智能
ubuntu16.04下ROS操作系统学习笔记(六 )机器视觉-摄像头标定-ROS+OpenCv-人脸识别-物体跟踪-二维码识别(下)
ubuntu16.04下ROS操作系统学习笔记(六 )机器视觉-摄像头标定-ROS+OpenCv-人脸识别-物体跟踪-二维码识别(下)
765 0
|
网络协议 网络虚拟化 网络架构
单臂路由的简介及详细配置步骤
单臂路由的详细配置步骤 1、单臂路由概述 单臂路由(router-on-a-stick)是指在路由器的一个接口上通过配置子接口(或“逻辑接口”,并不存在真正物理接口)的方式,实现原来相互隔离的不同VLAN(虚拟局域网)之间的互联互通。
1501 1
|
弹性计算 安全 网络安全
基于阿里云云平台快速实现网络入侵检测 (IDS) 及网络安全监视 (NSM)
数据包捕获是一个重要组件,可以实施网络入侵检测系统 (IDS) 并执行网络安全监视 (NSM)。 我们可以借助开源 IDS 工具来处理数据包捕获,并检查潜在网络入侵和恶意活动的签名。 使用网络观察程序提供的数据包捕获,可以分析网络中是否存在任何有害入侵或漏洞,Suricata 就是这样的一种开源工具,它是一个 IDS 引擎,可使用规则集来监视网络流量,每当出现可疑事件时,它会触发警报。 Suricata 提供多线程引擎,意味着它能够以更高的速度和效率执行网络流量分析,在本文中将会介绍到如何在 ECS 中使用Suricata来对网络进行入侵检测,同时并根据Suricata中给定的威胁规则匹配的
2030 0
基于阿里云云平台快速实现网络入侵检测 (IDS) 及网络安全监视 (NSM)
|
人工智能 算法 开发者
一元线性回归-预测电影票房|学习笔记
快速学习一元线性回归-预测电影票房
1116 0
一元线性回归-预测电影票房|学习笔记
|
开发框架 开发者 前端开发
重磅首发 | 承载亿级流量的开发框架,闲鱼Flutter技术解析与实战大公开
去年闲鱼发布的《Flutter in action》为开发者带去一手的实践经验总结,现在《Flutter in action》全新升级啦!这本书并非基础知识的简单罗列,而是从一线问题出发,循序渐进,娓娓道来。不仅把Flutter的重要理念讲得极为清晰, 而且给开发者提供了应对眼前各种问题的实用方法。同时,书中还给出了详尽的可以融会贯通、举一反三的思路,理论陈述和问题分析面面俱到,力求让读者可以获得全面系统的技术知识。
68042 0
重磅首发 | 承载亿级流量的开发框架,闲鱼Flutter技术解析与实战大公开
|
存储 数据采集 算法
Paper Time|开放式时空大数据助力智能公交路线规划
Paper Time|开放式时空大数据助力智能公交路线规划
1244 0
Paper Time|开放式时空大数据助力智能公交路线规划
|
域名解析 缓存 监控
网络TCP/IP基础(OSI七层网络参考模型、协议及原理)
网络分层、七层参考模型功能介绍、TCP/IP五层模型常见协议、网络层协议介绍、ICMP、IGMP、IP、ARP、RARP、传输层协议介绍、TCP、建立TCP连接的三次握手原理、为什么要三次握手、四次断开原理、握手是三次,为什么断开要四次、什么是TCP半关闭状态、UDP、应用层协议介绍、HTTP、FTP、TFTP、SMTP、SNMP、DNS、五层模型常见设备
1002 1
|
Java
Java 技术篇-jre环境配置,jdk1.8的安装与环境变量设置
我来为大家演示 jdk8 的搭建,后面再讲一些 jdk8 和 jdk10 的一些区别。 为什么要安装 jdk8 版本呢,因为现在大多数软件的 java 环境是基于 8 版本的呢! 注: 个别软件还需要 jdk7 呢,我们电脑环境的 java 是 8 版本,个别软件的话我们可以单独对其配置,直接在对应软件的配置文档里设置就好了。
734 0
Java 技术篇-jre环境配置,jdk1.8的安装与环境变量设置