简单学习下Oxite的项目结构1
来源:互联网 发布:单片机网 编辑:程序博客网 时间:2024/05/16 06:35
Oxite出来有一段时间了,今天抽点时间看了下。项目的整体结构如下:
按顺序由上到下大概说一下吧。
Oxite项目算是一个核心的东西吧,分别来看一下:
BackgroundServices是一个后台服务类,为下图的Oxite.BackgroundServices项目服务:
具体的关系大概如下:
IBackgroundService接口提供一个Run方法,然后由BackgroundServiceExecutor使用Timer来管理Run()方法的执行、停止于超时处理。具体的实现就去看BackgroundServiceExecutor类和BackgroundServicesExecutor类吧。
Oxite项目下的Configuration文件夹,就是web.config中的Oxite配置节,没什么好说的,略过。
Oxite项目下的Data目录:
我们看到里面几乎全是接口。这是由于这里使用了Repository模式,同时为了和Linq2SQL配合,直接来看看Linq2SQL项目中的一些代码大概你就明白了:
partial class oxite_Tag : ITag{ #region ITag Members public ITag Parent { get { return oxite_Tag1; } set { oxite_Tag1 = (oxite_Tag)value; } } public Guid ID { get { return TagID; } set { TagID = value; } } public string Name { get { return TagName; } set { TagName = value; } } public DateTime? Created { get { return CreatedDate == SqlDateTime.MaxValue.Value ? (DateTime?)null : CreatedDate; } set { if (value == null) { CreatedDate = SqlDateTime.MaxValue.Value; } else { CreatedDate = value.Value; } } } #endregion partial void OnCreated() { CreatedDate = SqlDateTime.MaxValue.Value; }}
注意上面的是partial类和partial方法。
在Data目录里面还有一个IOxiteDataProvider类,里面定义所以必须的Repository,Linq2SQL的DataProvider实现类图如下:
下面顺便看一下Oxite.LinqToSqlDataProvider项目:
Oxite项目下的Handlers目录主要就是XMLRPC(RPC是Remote Procedure Call的缩写,翻译成中文就是远程过程调用)和IMetaWeblog的实现,用于支持用Windows Live Writer之类的软件来发表文章。里面还有一个RedirectHttpHandler用于301跳转。
Oxite项目下的Routing文件夹:
这个就是将我们在Global.asax中的Route规则注册写到了这里(在OxiteRoutes类中),里面就是这东东:
同时实现了一些自定义的注册Route的时候用到的约束条件。要实现一个Constraint就是实现IRouteConstraint接口的Match方法就可以了:
Search目录自然就是搜索拉,没看,就不说了。
还有剩下的下图红框部分:
这些没什么好说的就不说了。
- 简单学习下Oxite的项目结构1
- asp.net mvc cms项目Oxite
- asp.net mvc cms项目Oxite
- IntelliJ idea下的项目结构
- 开源项目学习《知乎专栏》笔记------AndroidMainifest下的一些属性的简单解释
- 微软开源博客平台Oxite 的安装
- 关于两个MVC示例的思考(MVCStore和Oxite)
- 关于两个MVC示例的思考(MVCStore和Oxite)
- 关于两个MVC示例的思考(MVCStore和Oxite)
- 关于两个MVC示例的思考(MVCStore和Oxite)
- 从微软的Oxite谈JAVA CMS 将会步履维艰
- Android开发——了解简单Android项目的结构
- Android Studio下的项目结构以及Drawable的使用
- Hibernate学习-------一个简单的Annotation项目
- 第七周项目 3 简单分支结构问题体验 1
- MyEclipse下项目的包层次结构问题
- Aptana下Django1.6以后的项目模板结构改造
- android stdio下的项目目录结构简介
- 2009年 牛年牛到底
- 创业兵法:简单的商业模式构成
- SANergy软件功能
- ASP.NET MVC 學習資源整理
- 国股市已经不是一个正常的市场
- 简单学习下Oxite的项目结构1
- C语言中宏定义的一个变态用法
- 强制html网页中某个图片刷新
- Unicode 编码表 -来自wiki百科
- A simple way to cure sleepless
- 微软亚洲研究院面试题
- C++语言代码检查工具PC-Lint四步速成
- NHibernate入门常见问题1
- J2ME编程开发平台的几个重要概念说明