Unity3D StrangeIoc框架类图

strangeioc 框架。其核心是通过 依赖注入和控制反转来实现各个功能模块之间的解耦。从而实现,再改需求的时候,想改哪里就改哪里,多人分模块开发的需求。有没有觉得依赖注入和控制反转这俩名词,听着就很高端。

这个框架在github或者unity官方商店都能找到,建议还是unity官方商店的,下载下来的还有demo。框架使用很简单。算的上市PureMvc的变种吧。很快就能上手用。

上图是文档中附带使用解释图。下面用我自己的语言简单介绍一下。(如果说的不对,见谅见谅)

基于MVC框架的扩展版MVCS 多这一个S,也就是下图中的service。
ioc 即控制反转 通过 DI(依赖注入)来解开各个模块之间的耦合
root 根 顾名思义 就是入口的意思
mvcs context 是进入入口后进行初始化的地方(包括绑定命令这些)。
service链接web进行数据的传递。
model是数据模型
view 是视图(即view 和mediator(调解员(字面翻译)))view负责显示。mediator负责和control交互
control是控制器。是由command组成的。
为什么说他是针对unity的框架呢。主要是因为它的view模块是特别针对unity改良的。将view 分为view 和 mediator。为什么这样分呢,因为用unity的都知道,unity的脚本组件都要基于monobehaviour。而这时unity特有的。所以就用view来关联组件,只管显示,逻辑处理都在mediator。(你说我为什么知道这么多,因为我看了源码。哈哈)
上面这些在好多地方都能知道了,UP当然要拿一些干货出来。没错,就是这个框架的类图。当你想在程序员这条道路上继续升级的时候,学习别人的框架可谓是必经之路。但是框架用起来简单,但搞明白可没那么容易。那么庞大又抽象的框架,如何下手(虽然他自己还说是轻量级。。那重量级到底有多重)。这个时候,如果你手上有一个框架的类图。顿时就会感觉框架我有,走哪都不会迷路。

红色和橙色标记的都是核心类。类图其实也不只能说是半成品哈,因为实在是没精力把属性啊,方法啊,什么的加进去。不过就光看着个,也肯定会有一些帮助的。下面是一些类的简单介绍
最基础的容器类是 SemiBinding。 其相当于一个 数组列表+bool+enum。

Binding 是 ioc框架的核心封装类。由3个SemiBinding分别作为key,value,name。以及他们的枚举和bool.以及一个binder的委托。简单来说就是一个高级的字典。其核心就是通过key,value,name将不同的类绑定起来。将其作为中间物质来解功能类之间的耦合。

CommandBinding是继承自binding,显而易见是用来绑定command的。他有额外的三个bool用来区分:One,队列,池。
SequenceBinding :继承自Command Binding 多了一个bool,这个bool 是new的。

EventBinding和command一样同样是继承自binding。他多了一个字典key是委托,value是枚举用来区分委托的参数个数。

InjectionBinding 外加了 一个枚举,两个bool。用来注入

MediationBinding 更简单,只是将binding的其他类型转为mediation 。

binder是binding的集合。binder中含有两个字典来处理来容纳binding。一个是正确的绑定及obj,obj,binding。另一个是冲突的,是为了避免逆向绑定。他有一系列处理冲突的方法。其他的方法就是将binding存储到正确的3维字典中(一个包含字典的字典)。

剩下的有时间再添加吧。。如果你觉得对你有帮助的话。不妨留个言噢。


  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值