Create MVC framework(Implement the structure)part3
迄今为止,我们已经有构建一个MVC框架的基础知识,也已经设立MVC的结构。
让我们回想下规则
- 需将重复的代码用工厂模式实现,并且每个工厂若是有依赖关系可以能引入
- 这些工厂必须在项目加载的时候就已经实例化
- 常量可以在控制器或者工厂等任意组件里修改
- 我们需能定义路由用来标示路由来自哪里并且执行相应的控制器
- 控制器是一些可以引入常量, 工厂的函数,且映射相关的url链接
- 这些控制器必须在一特定的url到来的时候就开始执行
第一步:
保存一个私有的json对象来持有所有的工厂,变量, 路由和控制器
例子:
第二步:
保存一适配器用来给公共函数提供私有函数的访问。这个适配器就是我们实际要实现的的资源对象
变量
|
|
预设的规则:
常量可以在控制器或者工厂等任意组件里修改。常量可以是函数,对象或者hybird。所以每当创建一个常量,就需要通过适配器将该常量值作为key/value的存储在Resource的一个属性上
依赖注入的概念
为了可以创建在其他的工厂下可以使用的工厂或者常量,这里我们可以需要将这些依赖注入到这个工厂中;
怎么注入一个常量到工厂中
我们持有一个私有对象Resource,通过名称来保存常量。假设现在已经创建了一个名叫’constant1’的常量。
现在如果要将该变量注入到工厂中,可以通过Resource.constants[constant1]获取
现在创建个提供基于key获取工厂和常量适配器函数
上述代码接收一keys 名字数组,相应地查找模块,工厂,常量。简单来说就是取出一个字符串数组,然后返回存储在私有对象的函数
路由的概念
预设的结构
控制器的概念
控制器是一能加载相关依赖的模块,当特定url到来的时候,该控制器需被加载
附全部代码
|
|