场景
- 软件对于某一项任务, 有稳定的整体操作流程/结构. 但是各个子步骤却有很多改变的需求.
- ......
好处
- 控制子类必须遵守的一些事项.
- 子类只需要完成一些步骤/流程的细节.
代码片段
using System;
public class Program
{
public static void Main(string[] args)
{
var ow = new Overwatch();
ow.Play();
var pubg = new PUBG();
pubg.Play();
}
}
public abstract class Game
{
protected abstract void InitGame();
protected abstract void StartGame();
protected abstract void EndGame();
public void Play()
{
InitGame();
StartGame();
EndGame();
}
}
public class Overwatch : Game
{
protected override void InitGame()
{
}
protected override void StartGame()
{
}
protected override void EndGame()
{
}
}
public class PUBG : Game
{
protected override void InitGame()
{
}
protected override void StartGame()
{
}
protected override void EndGame()
{
}
}
总结