【发布时间】:2011-02-22 11:52:20
【问题描述】:
当然要视情况而定。但是当一个较低级别的对象或系统与较高级别的系统通信时,是否应该首选回调或事件而不是保持指向较高级别对象的指针?
例如,如果我们正在开发一款游戏,我们有一个world class,它有一个成员变量vector<monster> monsters。当monster class 与world class 通信时,我应该更喜欢使用回调函数还是应该在怪物类中拥有指向世界类的指针?
【问题讨论】:
-
世界对象是单个实例吗?如果是这样,您可能希望使用单例模式。
-
如果低耦合是一个问题,您可能不想要单例。单例允许从任何地方进行耦合。