良くない構成と言われます。構成にすることが求められます。フラットな構成にするためのフレームワークを提供します。並べることができないものがあります。それは、コントローラとモジュールです。コントローラを上位層に、モジュール(の集まり)を下位層にします。(そのため、アプリケーション・オブジェクトと呼ばれます)。各種シナリオを記述します。ユーザはその内容を知っています。ユーザはそのイベントを発生させるのです。(3-3章)から構成されています。詳細は各章を参照してください。インスタンスに相当します。複数あることがあるということです。一般に言われるツリー構造は、すべてモジュール・レイヤに収めます。コントロール・レイヤが直接管理することになります。ライフサイクルの管理は、コントロール・レイヤが行います。(2-3章)に分けられます。詳細は各章を参照してください。2-1.コア・オブジェクトツリー構造の最も末端にあるものが、コア・オブジェクトです。接続されている周辺機器を表現します。コア・オブジェクトは、他のクラスを所有しません。コンポジット・オブジェクトです。他のオブジェクトに共有されないで独占しています。すべて、所有するコンポジット・オブジェクトと同じになります。どちらかを選択しなければなりません。コンポジット・オブジェクト(所有者)にはなれません。オブジェクトを、リンカブル・オブジェクトと呼びます。コモン・オブジェクトと呼びます。不完全形になっており何もできません。必要なオブジェクトとリンクして初めて有効になります。都合が悪いケースがおきることがあります。独立させたほうがいいでしょう。共有することができた例です。ライフサイクルが異なります。行う必要が出てくるので注意が必要になります。一部のメンバ変数が集まってできることもあります。ツリーも含めて実装されることになるので注意してください。クラスの内部でポインタを持つ必要はありません。関数の引数に渡すようにします。3-1.コンテキスト変数コントロール・レイヤは、1つのコンテキスト変数(構造体)を持ちます。コンポジット・オブジェクト、リンカブル・オブジェクト)を所有します。コンポジット・オブジェクトです。節約する場合は、ポインタを所有することもあります。ユーザが理解できるものにします。対するシナリオをイベント関数(3-2章)に記述します。(生成、ライフサイクル開始)を呼び出すようにします。呼び出す順番に依存関係がある場合があるので注意してください。*/};後始末関数(破壊、ライフサイクル終了)も同様にします。実行する関数をイベント関数と呼びます。イベント・ドリブンと呼びます。シナリオを記述します。呼び出すようにします。渡されることが多いです。