美文网首页
接入StrangeIoC

接入StrangeIoC

作者: gttt | 来源:发表于2016-11-09 16:57 被阅读0次

    目前工程项目分为多个Scene

    • main 作为入口场景用于加载其他的场景信息
    • service 用于启动服务器等server信息
    • login 用于登录界面和进入房间选项
    • room 用于主场景界面

    关于StrangeIOC

    Strange: the IoC framework for Unity 读书笔记

    原文

    译文

    重新排版和翻译了译文的部分内容

    介绍

    StrangeIoC是一个轻量高扩展性的控制反转框架,为C#和Unity设计

    • 一个支持各种绑定的核心的绑定框架
    • 依赖注入
      • 映射为单例、值或工厂(每次需要时创建一个新的实例)
      • 命名注入
      • 构造函数注入或者setter注入(可以理解为属性注入)
      • 标记指定的构造函数
      • 注入到MonoBehaviours
      • 多态绑定 : 可以绑定接口或者实体类
      • 反射绑定,显著减少采用反射的开销
    • 两种风格的共享事件机制
      • 可以发送消息(event or signal)到程序的任意位置
      • 为本地通信映射本地的事件桥
      • 都会映射事件到相应的命令类来分离逻辑
      • 使用新的 signal 实现来增加类型安全保证,并且减小了类型强制转换的开销
    • MonoBehaviour中介
      • 帮助分离view和逻辑
      • 隔离unity特有的代码与其他逻辑代码
    • 可选的MVCS结构
    • 多个context
      • 多个子控件(子场景)单独运行,或者运行在主APP中
      • 允许context之剑通信
    • 扩展简单,可以自建新的绑定器

    目录介绍

    • Framework 包含构成Strange的主要类
    • Extensions 库函数
    • tests 单元测试

    1.绑定

    关于Signal的使用

    signal 不一定需要和command绑定,只需要自行绑定单例就可以了

    //CrossContext 是用于跨模板和跨场景用的
    injectionBinder.Bind<SomeSignal>().ToSingleton().CrossContext();
    

    关于多个Context的处理

    unity框架strangeioc研究分享
    Crossing Contexts with StrangeIoC

    关于绑定MonoBehaviour的管理类

    将会出现无法注入[Inject]参数的情况

    注入 原理相关

    框架学习笔记:深度解析StrangeIoC内部运行机制

    injectionBinder.Bind (viewType).ToValue (view).ToInject(false);
    injectionBinder.injector.Inject (mediator);
    injectionBinder.Unbind(viewType);
    

    相关文章

      网友评论

          本文标题:接入StrangeIoC

          本文链接:https://www.haomeiwen.com/subject/vsqtpttx.html