StrangeIOC框架心得

先说Binder,这个框架出现最多的就是Binder,也是很多人刚接触的时候不能理解的地方,中文意思就是粘合剂。有几个主要的Binder,他们都是继承至Binder的,Binder其实就是一个高级表。里面存放的是以typeof(T)为key的对象。同key下以name(通常用枚举)来区分。StrangeIOC框架心得,value存在binding中。



1、CrossContextInjectionBinder(跨上下文注入)

核心含义就注入()

StrangeIOC框架心得

表示已经在injectionBinder中绑定以typeof(IInstanceProvider)和typeof(IInectionBinder)为key的value是injectionBinder.

这种Binder<>().To<>()的形势就表明后面的inectionBinder.GetInstance<>()。GetInstance的对象就是injectionBinder。

怎么实现?

StrangeIOC框架心得

StrangeIOC框架心得

StrangeIOC框架心得

2、SignalCommandBinder(信号命令)

理解了Binder,再看SignalCommandBinder就简单多了。主要通过不同来发现他的功能。

StrangeIOC框架心得

StrangeIOC框架心得

StrangeIOC框架心得

commander.Binder<信号>().To<命令>();

信号.Dispatcher()就是command.Execute();

3、MediationBinder(中介)

所有mediator的起点

StrangeIOC框架心得

就是给所有的view加一个mediator。

mediataionBinder.Bind<view>()To<mediator>().

表示view.gameObject.AddComponent<mediator>().

4、ReflectionBinder(反射)

StrangeIOC框架心得

主要是为injectionBinder中的injector的Inject()方法服务的。Get(type),就是找到所有的[Inject],[PostConstruct],和ctor.

还有一个ImplicitBinder不懂有什么实际意义