ちょっとした背景: 科学モデルを扱うためのライブラリ/フレームワークを構築しています。モデルが実装しなければならない操作を定義するインターフェースがありますModel
が、これはかなり最小限です。つまり、インターフェースは、モデル実装者の観点からModel
モデルのコントラクトを定義します。
ModelInfo
このフレームワークは、モデルに関する他の機能を多数追加しますが、現在、クライアント コードは、ModelHost
、、 などの他の多数のクラスを使用してその機能にアクセスする必要がありますModelInstance
。
このフレームワークを使用するアプリケーションでは、モデルを実行するこのすべてのメカニズムを実際に処理する必要はありません。オブジェクトを使用します。(このパターンは既にフレームワークの他の部分に適用されており、成功しています。)
ここで質問があります: 既に interfaceModel
があるとすると、ファサード クラスの適切な名前は何でしょうか? Model
インターフェースはフレームワークとモデル実装の間 の契約であり、新しいクラスはフレームワークとクライアント アプリケーションの間の契約を定義します。
または、より一般的に: ライブラリまたはフレームワークによって提供される抽象化がある場合、抽象化への「プロバイダー」と「消費者」のインターフェイスを明確に識別するために、抽象化の「2 つの側面」にどのように名前を付けることができますか?
(問題があれば、このプロジェクトでは Java 6 を使用しています。)