Unity框架学习--2

接上文

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

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

注册接口模块

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

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

好处如下:

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

支持数据存储

相关推荐
叶帆8 小时前
【YFIOs】用C#开发硬件之设备上云
开发语言·unity·c#
久数君9 小时前
AI三维建模工具“造形家”:地理场景三维化的高效解决方案
unity·glb·ai算法·ai三维建模工具·地图框选·造形家·城市建筑模型
会思考的猴子20 小时前
Unity VFX 属性 Postion 和 TargetPostion
unity
心前阳光1 天前
Unity资源导入之自动化资源导入
unity·自动化·游戏引擎
心前阳光1 天前
Unity之2021.3.45f2c1发布安卓程序遇到的问题
android·unity·游戏引擎
纪纯1 天前
PicoVR Unity Integration SDK 3.4 常用交互API
unity·游戏引擎·vr·pico
龙智DevSecOps解决方案1 天前
3A 游戏优化技术栈:如何打通引擎级分析工具与 DevOps 持续集成管线?
unity·性能优化·游戏开发·技术美术·perforce·unrealengine
葛兰岱尔1 天前
从 SolidWorks 到 Three.js,从 Inventor 到 Unity——制造业CAD模型“几何-语义一体化“转换,不再是天方夜谭!
开发语言·javascript·unity
玉夏1 天前
【Shader基础】UV 与纹理采样 Part1
unity·着色器·uv
zdr尽职尽责1 天前
Unity录像功能
学习·ui·unity·游戏引擎