strangeioc涉及到的设计模式有media中介者模式,binding数据绑定模式,unity框架strangeioc分享给大家:
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可以动态卸载,也可以动态加载