StrangeIOC框架心得

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



1、CrossContextInjectionBinder(跨上下文注入)

核心含义就注入()


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

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

怎么实现?



StrangeIOC框架心得_第1张图片

2、SignalCommandBinder(信号命令)

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

StrangeIOC框架心得_第2张图片

StrangeIOC框架心得_第3张图片

StrangeIOC框架心得_第4张图片

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

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

3、MediationBinder(中介)

所有mediator的起点


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

mediataionBinder.Bind()To().

表示view.gameObject.AddComponent().

4、ReflectionBinder(反射)

StrangeIOC框架心得_第5张图片

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

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

你可能感兴趣的:(StrangeIOC框架心得)