エンティティ・コンポーネント・システム

提供: MonoBook
2022年11月24日 (木) 05:11時点におけるAdministrator (トーク | 投稿記録)による版 (ページの作成:「'''エンティティ・コンポーネント・システム'''(英語: Entity component system、通称:ECS)とは、データと処理を完全に分離して考…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

エンティティ・コンポーネント・システム(英語: Entity component system、通称:ECS)とは、データと処理を完全に分離して考えるプログラミングの手法のひとつ。「コンポーネント指向」とはまったくの別物。

データと処理が分離しているので上層部の思いつきによる急な仕様変更に強いという特徴がある。

主な用語

エンティティ

オブジェクト指向のオブジェクトに近いもの。オブジェクト指向でいう「メソッド」などは持たず、エンティティの「識別子(ID)」と「コンポーネントの配列」だけを持つ。

コンポーネント

エンティティが持つ要素のひとつ。いわゆる「データ」である。

システム

いわゆる「処理」である。エンティティの配列から特定のコンポーネントを持つものを抽出し、それらに対して処理を行う。

以下のような感じである。

  • コンポーネントAを持つエンティティに対する処理(システム)
  • コンポーネントAとコンポーネントBを併せ持つエンティティに対する処理(システム)