インタフェース(プログラミング)
Interface
いんたふぇーす
クラスが実装すべきメソッドの仕様(シグネチャ)を定義した型。実装を持たず、複数のインタフェースを実装することで多重継承の問題を回避しつつ多態性を実現する。依存性逆転の原則の実現手段として重要。
アプリケーション設計 > オブジェクト指向設計
関連キーワードの用語
SAオブジェクト指向設計
データとそれに対する操作をオブジェクトとしてまとめ、オブジェクト間のメッセージパッシングによりシステムを構成する設計手法。カプセル化、継承、ポリモーフィズムを基本原理とし、再利用性と保守性の向上を目指す。
SA抽象クラス
直接インスタンス化できず、サブクラスで実装すべき抽象メソッドを定義するクラス。共通的な処理を定義しつつ、具体的な振る舞いをサブクラスに委ねる。インタフェースとの使い分けが設計のポイントとなる。
SADI(依存性注入)
オブジェクトが依存する他のオブジェクトを、外部から注入(設定)するデザインパターン。SOLID原則の依存性逆転の原則を実現する手段であり、テスト容易性と柔軟性を向上させる。コンストラクタ注入、セッター注入、インタフェース注入がある。
FEオブジェクト指向設計
データとそれを操作する手続きをオブジェクトとしてまとめ、クラス・インスタンス・継承・カプセル化・多相性などの概念を用いて設計する手法。再利用性・拡張性に優れ、SOLID原則に基づく設計が推奨される。
FEデザインパターン
オブジェクト指向設計で頻出する問題に対する再利用可能な解決策のカタログ。生成に関するパターン、構造に関するパターン、振る舞いに関するパターンの3種類に分類される。GoFの23パターンが代表的。
SAシステム方式設計
システム要件を実現するために、ハードウェア、ソフトウェア、ネットワーク、データベースなどの構成要素と、それらの関係・インタフェースを決定する設計工程。要件定義とソフトウェア詳細設計の間に位置づけられる。