SOLID原則のひとつ。 開放(Open) 拡張に対して開いている。 閉鎖(Closed) 修正に対して閉じている。 新しく機能を追加するとき、既存のコードを変更せずにあたらしいコードを追加するだけで済むようにする。 格闘家を例にとる 一般的に格闘技には階級がある。選手は規定の体重以内で計量をパスしなければならない。 public enum WeightClass { Heavy, Light } public class Fighter { public WeightClass WeightClass; public string Name { get; private set; } pub…