ももの知恵の樹

コンポーネント指向プログラミング

コンポーネント指向プログラミングとは

コンポーネント指向(Component-oriented)とは

コンポーネント指向とは、システムの構成要素を独立したコンポーネントに分割し、それらを組み合わせてシステムを構築するプログラミングパラダイムです。
コンポーネントとは、機能的なまとまりがあり、独立しており、再利用可能な単位のことです。
コンポーネントを追加または交換することで容易にシステム構築でき、効率性、保守性を向上させることができます。


コンポーネント指向のプログラミング言語とは

コンポーネント指向のプログラミング言語といえば、「Unity」が挙げられます。
コンポーネントを組み合わせる設計と実装はゲーム開発との相性が良いといえます。
また、「React」では、Functional Componentというコンポーネントの枠組みを提供しており、Webフロントサイドの開発を効率化できます。
「C#」もコンポーネント指向を実現するだけの仕組みを提供しているプログラミング言語といえます。


コンポーネント指向の実現

コンポーネント指向における疎結合について

コンポーネント指向では、コンポーネント間の結合度を最小限に抑え、疎結合性を実現するように設計します。
つまり、各コンポーネントは他のコンポーネントとの依存性を最小限に抑えるように、独立した設計にします。
これにより、コンポーネントの再利用性を向上させ、コンポーネントベースの開発を可能とします。


インターフェースを明示する

コンポーネント指向では、各コンポーネントは外部からの呼び出しに対する明示的なインターフェースを提供します。
インターフェースを明確にすることで、コンポーネント間のコミュニケーションを明確にします。


データや機能をカプセル化する

コンポーネントはデータや機能をカプセル化したソフトウェアのパッケージです。
これは、オブジェクト指向プログラミングにおけるオブジェクトに似ている者の、概念的により高いレベルにあるものです。
そのため、ポリモーフィズム、カプセル化、遅延バインディング、 (インターフェースを通した)継承を効率的に利用する必要があります。


単一責任の原則 (single responsibility principle)

コンポーネント指向における単一責任の原則とは、ソフトウェアコンポーネントは「一つのことだけ」を担当するべきであるという原則です。
また、コンポーネントの変更においては、「一つの理由でのみ変更が許容されるべき」だという考えに従います。
将来的にコンポーネントが肥大化してしまった場合には、小さなコンポーネントに分割するように改善していきます。



関連ページ