Kigg项目分析 -- 1.项目的入口
2010-10-02 15:56
211 查看
最近看了微软的asp.net mvc系列视频教程,对mvc又有了新的认识,但最近手懒的很,故而没有再写什么实验程序,而是下载了一个轻量级的开源mvc项目KIGG通过分析来学习asp.net mvc.
Kigg是个框架中重载了很多asp.net和mvc底层的东西,如最简单的post,get等.看完之后让然有种豁然开朗的感觉.
关于Kigg的项目结构,网上已经有文件进行说明了,我就不单独讲述了.但是在我的学习中,会随时贯穿项目结构说明.
1. 项目的入口
在开始研究这个框架的时候,一直没有找到定义URL规则的地方。就是说该项目并没有像传统的MVC程序,将URL规则和一些程序初始化的工作写在Global.asax中。但是在我们在Global.asax的OnStart中,能看到这个方法:Bootstrapper.Run();转到定义后,我们能看到这样一句:
IoC.ResolveAll<IBootstrapperTask>().ForEach(t => t.Execute());
看到了IOC,我第一反应就是要到配置文件中去找找实现IBootstrapperTask的类有哪些。通过搜索,我发现有:CreateDefaultUsers,StartBackgroundTasks,RegisterRoutes,RegisterControllerFactory,从名字我们就能看出,RegisterRoutes就是我们要找的注册URL Routes的地方。找到RegisterRoutes类后,就能从Execute()方法中找到注册的URL路径了。
从我们找到项目的过程中,我们不难发现这个项目的几个特点:首先,大量的使用Helper方法,如我们在一开始看到的ForEach就是一个典型的枚举的Helper。其次就是IOC始终贯穿整个项目,如IoC.ResolveAll<IBootstrapperTask>这种方式就是典型的IOC用法。
Kigg是个框架中重载了很多asp.net和mvc底层的东西,如最简单的post,get等.看完之后让然有种豁然开朗的感觉.
关于Kigg的项目结构,网上已经有文件进行说明了,我就不单独讲述了.但是在我的学习中,会随时贯穿项目结构说明.
1. 项目的入口
在开始研究这个框架的时候,一直没有找到定义URL规则的地方。就是说该项目并没有像传统的MVC程序,将URL规则和一些程序初始化的工作写在Global.asax中。但是在我们在Global.asax的OnStart中,能看到这个方法:Bootstrapper.Run();转到定义后,我们能看到这样一句:
IoC.ResolveAll<IBootstrapperTask>().ForEach(t => t.Execute());
看到了IOC,我第一反应就是要到配置文件中去找找实现IBootstrapperTask的类有哪些。通过搜索,我发现有:CreateDefaultUsers,StartBackgroundTasks,RegisterRoutes,RegisterControllerFactory,从名字我们就能看出,RegisterRoutes就是我们要找的注册URL Routes的地方。找到RegisterRoutes类后,就能从Execute()方法中找到注册的URL路径了。
从我们找到项目的过程中,我们不难发现这个项目的几个特点:首先,大量的使用Helper方法,如我们在一开始看到的ForEach就是一个典型的枚举的Helper。其次就是IOC始终贯穿整个项目,如IoC.ResolveAll<IBootstrapperTask>这种方式就是典型的IOC用法。
相关文章推荐
- Kigg项目分析 -- 2.背后的故事
- Spark日志分析项目Demo(3)--Spark入口和DataFrame
- 需求分析过程中 项目里可能需要的技术点记录
- java中获取类加载路径和项目根路径的5种方式分析
- 关于apache tika应用于android项目中的调查分析
- 网站开发项目需求分析
- xcode 把cocos2d-x 以源码的形式包含进自己的项目适合, 性能分析问题的错误
- quick-cocos2d-x游戏开发【2】——项目结构分析、创建新场景
- sonarqube-runner无法分析项目
- 项目中的数据采集分析需求
- 系统集成资质-集成项目管理工程师下午案例分析题解答方法
- 第二人生的源码分析(3)程序入口点
- Mongodb源码分析--主程序入口main()
- 敏捷开发与项目管理实战之敏捷需求分析
- 安卓项目之淘忆的功能需求分析
- palomino项目简要分析(开源,基于osg)
- 1、Android项目框架搭建 (分析需求、整理资料)
- 软件项目管理常见问题分析
- OpenLayers 项目分析[转](三):BaseTypes (续)
- 结对项目博客——四则运算题目生成程序的改进与分析(附加题)