『科学的モデリング』~コンポーネントの安全確実な再利用とタイプ(型)置換とタイプ(型)推論
資料を作成している最中なので以下ポイントの覚書。
継承機能により『開放閉鎖原理』を用いると驚くべき拡張性と再利用性が得られる。
これはかなり多数の研究者の論文で報告されているから、いまさら説明の必要もないだろう。
レイヤー階層をまたいで「仕様のコンポ―ネントと「実装のコンポーネント」を配置すると極めて効果的な独立性となる。
いわゆる『依存関係逆転原理』の利用である。
組込み系・制御系では抽象度に応じた多層のレイヤー化アーキテクチャを構成するので、「仕様のコンポ―ネント」と「実装のコンポーネント」を分離し、上下の異なるレイヤーに配置することがキーとなる。
これがミソである。
「依存関係逆転原理」は極めて重要なアーキテクチャ設計の原則である。
「仕様のコンポ―ネント」は抽象クラスによるインターフェースなので極めて「安定」している。
機能変更や追加は「実装のコンポーネント」で実現する。
つまり、機能修正や拡張については「実装のコンポーネント」によって「開いている」ように設計するわけである。
これには継承メカニズムの利用が不可欠である。
「実装のコンポーネント」をいくら修正しても、クライアントクラスを「仕様のコンポ―ネント」に依存させていれば、継承による多相(ポリモフィズム)により、「実装のコンポーネント」のタイプ(型)が部分型に該当するので全く影響を受け無い。
そして、意味的整合性については『タイプ(型)置換原理』を用いて「実装のコンポーネント」を”振る舞いサブクラスにより構成させる振る舞い部分型コンポーネント”とする。
こうすれば「実装のコンポーネント」のクラスをさらにサブクラス作成して継承階層を深くししても意味的整合性は完全に保証される。
| 固定リンク
「パソコン・インターネット」カテゴリの記事
- 6つのテーマを同時並行作業(2019.07.05)
- すっかりご無沙汰してしましました(2018.05.27)
- CCCC(C AND C++CODE COUNTER)GUIランチャーの公開(2017.04.13)
- 作成したYicesのGUIからオプションを変えSMTを行う(2017.01.19)
- 『Yices』によるSMTソルバ(2017.01.18)
最近のコメント