Unity MVC
2016-03-15 22:13
423 查看
StrangeIoC 是一个超轻量级和高度可扩展的控制反转(IoC)框架,专门为C#和Unity编写。
项目地址:https://github.com/strangeioc/strangeioc
文档地址:http://strangeioc.github.io/strangeioc/TheBigStrangeHowTo.html
一些术语:http://strangeioc.github.io/strangeioc/glossary.html
strangeioc涉及到的设计模式有media中介者模式,binding数据绑定模式,
1)基本概念
依赖倒置原则(DIP):一种软件架构设计的原则(抽象概念)。
控制反转(IoC):一种反转流、依赖和接口的方式(DIP的具体实现方式)。
依赖注入(DI):IoC的一种实现方式,用来反转依赖(IoC的具体实现方式)。
IoC容器:依赖注入的框架,用来映射依赖,管理对象创建和生存周期(DI框架)。控制反转ioc是核心
2)绑定--strangeioc框架的核心
绑定从功能上分为好几种:Tie an interface to aclass that implements that interface. Or tie an event to a handler. Or tie twoclasses such that when one comes into being, the other one is
automaticallycreated. (绑定接口到实现类了;绑定事件命令到控制器;绑定2个类,当一个类创建时,另外一个类自动创建。)只是为了更方便的隔离变化,
绑定从层次上分为3种:injectionbinding,commandbinding,mediationbing。
注入绑定injectionbinding主要是用来绑定该类型对象到上下文,这样使得程序中各个地方可以通过contextview访问得到该对象。这种绑定会生成对象。这种绑定是为了生成对象并且注入到指定对象中用的,
commandbinding是为了将命令绑定到方法中用的,
mediationbing则是为了拦截view消息,而将view注入中介mediator中,然后在view的awake方法里面生成meidtaor对象。
3)实际项目中多个场景或者模块
1)事件消息可以穿透多个模块,crossContextBridge.Bind(MainEvent.GAME_COMPLETE);这样多个contextview里面只要监听到了这个消息就会被触发类似于广播。
2)model也可以穿透多个cross来传值,injectionBinder.Bind<IScore>().To<ScoreModel>().ToSingleton().CrossContext();
3)contextview可以动态卸载,也可以动态加载
经典:
Pure MVC :http://puremvc.org/
项目地址:https://github.com/strangeioc/strangeioc
文档地址:http://strangeioc.github.io/strangeioc/TheBigStrangeHowTo.html
一些术语:http://strangeioc.github.io/strangeioc/glossary.html
strangeioc涉及到的设计模式有media中介者模式,binding数据绑定模式,
1)基本概念
依赖倒置原则(DIP):一种软件架构设计的原则(抽象概念)。
控制反转(IoC):一种反转流、依赖和接口的方式(DIP的具体实现方式)。
依赖注入(DI):IoC的一种实现方式,用来反转依赖(IoC的具体实现方式)。
IoC容器:依赖注入的框架,用来映射依赖,管理对象创建和生存周期(DI框架)。控制反转ioc是核心
2)绑定--strangeioc框架的核心
绑定从功能上分为好几种:Tie an interface to aclass that implements that interface. Or tie an event to a handler. Or tie twoclasses such that when one comes into being, the other one is
automaticallycreated. (绑定接口到实现类了;绑定事件命令到控制器;绑定2个类,当一个类创建时,另外一个类自动创建。)只是为了更方便的隔离变化,
绑定从层次上分为3种:injectionbinding,commandbinding,mediationbing。
注入绑定injectionbinding主要是用来绑定该类型对象到上下文,这样使得程序中各个地方可以通过contextview访问得到该对象。这种绑定会生成对象。这种绑定是为了生成对象并且注入到指定对象中用的,
commandbinding是为了将命令绑定到方法中用的,
mediationbing则是为了拦截view消息,而将view注入中介mediator中,然后在view的awake方法里面生成meidtaor对象。
3)实际项目中多个场景或者模块
1)事件消息可以穿透多个模块,crossContextBridge.Bind(MainEvent.GAME_COMPLETE);这样多个contextview里面只要监听到了这个消息就会被触发类似于广播。
2)model也可以穿透多个cross来传值,injectionBinder.Bind<IScore>().To<ScoreModel>().ToSingleton().CrossContext();
3)contextview可以动态卸载,也可以动态加载
经典:
Pure MVC :http://puremvc.org/
相关文章推荐
- 分享微信开发Html5轻游戏中的几个坑
- Zend的MVC机制使用分析(二)
- ASP.NET MVC 4 捆绑和缩小实例介绍
- ASP.NET Mvc开发之查询数据
- ASP.NET MVC中将控制器分离到类库的实现
- asp.net实现在非MVC中使用Razor模板引擎的方法
- ASP.NET MVC中的AJAX应用
- 为ASP.NET MVC及WebApi添加路由优先级
- ASP.NET MVC中图表控件的使用方法
- ASP.NET MVC的四种验证编程方式
- 仅30行代码实现Javascript中的MVC
- ASP.NET MVC 3仿Server.Transfer效果的实现方法
- 如何在MVC应用程序中使用Jquery
- ASP.NET MVC小结之基础篇(二)
- ASP.NET小结之MVC, MVP, MVVM比较以及区别(一)
- Asp.net实现MVC处理文件的上传下载功能实例教程
- ASP.NET MVC小结之基础篇(一)
- 12种JavaScript常用的MVC框架比较分析
- 浅析Asp.net MVC 中Ajax的使用
- JSP使用MVC模式完成删除和修改功能实例详解