Unity框架学习--2

接上文

IOC 容器是一个很方便的模块管理工具。

除了可以用来注册和获取模块,IOC 容器一般还会有一个隐藏的功能,即:

注册接口模块

抽象-实现 这种形式注册和获取对象的方式是符合依赖倒置原则的。

依赖倒置原则(Dependence Inversion Principle):程序要依赖于抽象接口,不要依赖于具体实现。

好处如下:

  • 接口设计与实现分成两个步骤,接口设计时可以专注于设计,实现时可以专注于实现。
  • 接口设计时专注于设计可以减少系统设计时的干扰。
  • 实现是可以替换的,比如一个接口叫 IStorage,其实现可以是 PlayerPrefsStorage、EasySaveStorage、EdtiroPrefsStorage,等切换时候只需要一行代码就可以切换了。
  • 比较容易测试(单元测试等)
  • 当实现细节(比如 PlayerPrefsStorage)发生变化时,其引用接口(比如 IStorage)类里的代码不会跟着改变,降低耦合。
  • 等等

支持数据存储

相关推荐
淡海水8 小时前
16-01-C#数据结构源码-附录A-术语表
unity·c#·游戏引擎·il2cpp
淡海水9 小时前
16-03-C#数据结构源码-附录C-参考资源
unity·c#·游戏引擎·il2cpp
天神哥哥啊10 小时前
unity联调注意事项-安卓
android·unity·游戏引擎
天神哥哥啊10 小时前
unity联调注意事项-IOS
unity·ios·游戏引擎
可爱系程序猿21 小时前
Unity 材质预览才弹 d3dcompiler_47.dll?先分清编辑器 SDK、着色器缓存和玩家包
程序人生·3d·unity·电脑·材质
xcLeigh1 天前
Unity基础:使用Transform控制物体缩放——localScale与lossyScale的区别
unity·游戏引擎·教程
淡海水1 天前
00-Unity和C#的GC剖析与对比-全篇导览
unity·c#·游戏引擎·gc
字节暗面2 天前
Unity AssetBundle 热更新资源保护排查笔记
unity·游戏加固·资源加密
魔士于安7 天前
unity 丑陋哥布林 哥布林有humannoid 动画没 带动画
unity·游戏引擎·材质·贴图·模型
小贺儿开发8 天前
Unity 家居视频遥控(细节优化)
科技·unity·程序员·udp·视频·工具·通信