我有一个类别的“武器”,根据它的分类,它有不同的行为。可以在运行时更改行为,也可以将行为替换为其他行为。(对于那些知道的人来说,我描述的是一种蠕虫武器:世界末日)。
通常,我会创建实现特定行为的不同的“武器”子类,但是由于可以在运行时对其进行更改,所以不能使用这样的“静态类型化”。
我想到了像下面这样的类武器(C#)。
public class Weapon
{
public AirstrikeSettings _airstrikeSettings;
public MineSettings _mineSettings;
public LauncherSettings _