考慮我有一個遊戲創建框架,其中有一個叫做遊戲的基本類。動作<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]框架使用虛擬方法。我個人相信他們的判斷,除非你的用例不同。 :) –