タイプオブジェクト
「型」をサブクラスではなくオブジェクト内のデータとして定義し、新しい種類をコード追加なしに実行時に作れるようにするパターン。
モンスターの種族ごとに Goblin、Troll、Dragon とクラスを作る代わりに、各モンスターが共有属性(体力、攻撃力、スプライト)を持つタイプオブジェクトへの参照を保持する。新しい種族の追加は再コンパイルではなく、データの追加で済む。『Game Programming Patterns』で解説されており、データ駆動設計や mod 対応ゲームの背骨にあたる。
フライウェイトとの近さは明らかだ。多数のインスタンスが、同じデータの複製をそれぞれ持つのではなく、1つの共通で不変なタイプオブジェクトを共有する。