考虑我有一个游戏创建框架,其中有一个叫做游戏的基本类。动作<T> vs虚拟方法
// Action version
public class Game
{
public Action<float> OnUpdate;
public void Update(float mFrameTime) { OnUpdate.Invoke(mFrameTime); }
}
// Virtual version
public class Game
{
public virtual void Update(float mFrameTime) {}
}
哪一个是最好的方法? (在设计上和性能上)
订购OnUpdate操作(而不是继承Game类)或继承Game类并覆盖虚拟方法?
仅供参考[tag:XNA]框架使用虚拟方法。我个人相信他们的判断,除非你的用例不同。 :) –