Gameという基本クラスのゲーム作成フレームワークがあるとします。
// 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クラスを継承して仮想メソッドをオーバーライドしますか?