ステレオタイプと OCL 制約を使用して設計パターンの UML プロファイルを作成しようとした人はいますか? シングルトン パターン用に作成しようとしていますが、どのように、どこから始めればよいかわかりません...
3 に答える
パターンの形式化については多くの論文がありますが、それらのほとんどは、何かが欠けているか、複雑すぎて実用的ではありません。ただし、OCLを試してみたい場合は、非常に役立ちます。たとえば、シングルトンパターンを指定するには、指定されたクラスのすべてのインスタンスを取得してカウントするだけで済みます。これをクラスの不変条件にすると、非常に簡単にシングルトンになります。
これは困難です。多くの場合、デザイン パターンでは、Singleton パターンのように、オブジェクトがどのように使用されているかを確認する必要があります。しかし、ほとんどのオブジェクトの使用は、INSIDE メソッドで発生します (シングルトンの場合、たとえば、[不在] コンストラクター呼び出し)。ただし、通常、メソッド本体は UML でモデル化されていません。
当然の疑問は「なぜ?」
パターンを正式に説明しようとしていますか? それとも、アーキテクチャの構成要素として使用しますか? 他の何か?
正式な説明であれば、おそらくステレオタイプは必要ありません。標準クラス ダイアグラム (本による) で構造をモデル化し、OCL の事前条件と事後条件を使用してメソッドの動作を形式化します。
OCL を使用したパターンの形式化に関する論文がいくつかあります (google のみ)。別の良い情報源はこの本です。Eiffel ベースですが、すべての GoF パターンをメソッドの前後の条件で形式化しています。(すべてのソース コードはリンクから入手できます)。
h番目。