StrangeIoc
依赖注入
1. 什么是依赖关系:
-
依赖可以被认为是一个对象想要执行其功能,需要另外一个对象的相应功能。
-
假设A类的变化引起了B类的变化,则说明B类依赖于A类。
-
uml图(Diver依赖于Car):

public class Driver
{
public void drive(Car car)
{
car.move();
}
……
}
public class Car
{
public void move()
{
......
}
……
}
- 依赖关系有如下三种情况:
1、A类是B类中的(某中方法的)局部变量;
2、A类是B类方法当中的一个参数;
3、A类向B类发送消息,从而影响B类发生变化;
2.什么是组合关系:
-
组合关系也是整体与部分的关系,但是整体与部分不可以分开。
-
组合关系中部分和整体具有统一的生存期。一旦整体对象不存在,部分对象也将不存在。即成员类的存在依赖于整体类
-
uml图:

public class Head
{
private Mouth mouth;
public Head()
{
mouth = new Mouth();
}
……
}
public class Mouth
{
……
}
3.Unity的框架
Unity的框架是基于组合,没有入口控制
4.反转控制IOC
- 单件最大的问题:
- 不能设计成反转控制方式
- 存在内存泄漏
- 依赖注入 = 不要直接绑定
- 例子:
class 宇宙飞船
{
if (InputMana.getbutton(键盘空格))
{

StrangeIoc是一个轻量级的开源框架,基于依赖注入和反转控制(IOC)原则。它介绍了依赖关系和组合关系的概念,并展示了Unity框架中如何避免单件模式的问题。在使用StrangeIoc时,涉及ContextView、MVCSContext、View、Mediator、Command、Service和Models等组件,它们之间通过事件进行通信,实现游戏逻辑的解耦。ContextView作为游戏入口,MVCSContext负责绑定各个模块,View监管表现层,Mediator监听事件并处理,Command承载业务逻辑,Service提供全局唯一的服务,而Models用于数据交互。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



