• 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

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

    作者:KKcat
        
    个人博客:http://jinzhao.me/
        
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    SSM之Mybatis整合及使用
    软件设计师08-法律法规与标准化知识
    Spring MVC体系结构
    Spring MVC异常友好展示
    Spring MVC Web.xml配置
    编译型语言解释型语言
    软件设计师07-程序设计语言与语言处理程序基础
    flex布局注意点:
    常见的PC端和移动端表单组件
    js文件的装载和执行
  • 原文地址:https://www.cnblogs.com/jinzhao/p/1702507.html
Copyright © 2020-2023  润新知