This page is in Japanese version. The English version is in preparation.
|
パターンの記述形式
パターンとパターンクラスター
本ライブラリーでは、関連深いいくつかのパターンをまとめた「パターンクラスター」というくくりを設けています。パターンクラスターという命名は本ライブラリー独自のものですが、同様のくくりはアレグザンダーのパターン・ランゲージにも存在します。
パターンクラスターには複数のパターンが含まれます。ひとつのパターンが複数のパターンクラスターに含まれてもかまいません。パターンクラスターに含まれるパターンは一緒に使われることもありますが、そうでない場合もあります。互いに相手の代替案である場合もありますし、似通ったコンテキストで同時に検討されがちなパターンいくつかをクラスターにまとめている場合もあります。
パターンの記述形式
アレグザンダー自身はセクションを細かく分けることなくパターンを記述しましたが、内容面では、いくつかの要素がいずれのパターンの記述にも織り込まれています。本ライブラリーでの記述形式はそうした要素を明示的に項目化したものです。こうしたパターン記述形式はいくつかあり、本ライブラリの形式は「How to write a pattern? - A rough guide for first-time pattern authors, Tim Wellhausen and Andreas Fießer」に大雑把にもとづいています。
本ライブラリーでのパターンの記述形式は以下の通りです。
-
コンテキスト Context
-
問題 Problem
-
配慮すべきことがら Forces
-
解決策 Solution
-
例 Example
-
適用の帰結 Consequences
-
関連するパターン Related patterns
コンテキスト Context
そのパターンが生まれる背景、事情を説明します。コンテキストは「問題」ではありません。「問題」はパターンによって多かれ少なかれ解消しますが(そのためにパターンがあるわけです)、コンテキストはパターンを適用することで変化するものではありません。コンテキストは、問題ではなく、問題が発生する状況です。
配慮すべきことがら Forces
これは、パターンの一般用語では「フォース」すなわち「力」と呼ばれます。フォースは問題を解くことを難しくする様々な要因です。パターンは、フォースを、なんらかの形でうまく解消しなくてはなりませんが、それに伴って留意すべき事項が新たに生じる場合もあります。フォースへの対応は「適用の帰結」に、留意すべき事項は「制約」に記述されます。
解決策 Solution
解決策は、与えられたコンテキストのもとで解決したい問題を解決するために、道具すなわち設計対象物の形がどのようであるべきかを記述します。本パターン・ライブラリーで扱われる設計対象は、fusionplace アプリケーションですから、アプリケーションのいずれかの部分の具体的な形が記述されます。
例 Example
解決策の例を記述します。例は、記述された解決策に関するサンプルデータを用いた解説である場合もあれば、解決策の適用例(ユースケース)である場合もあります。いずれも、解決策がどのようなものであるか、理解を促進するために記述されます。
適用の帰結 Consequences
解決策は、フォースをうまく解消することが期待されます。「配慮すべきことがら」で挙げたフォース各々について、解決策がどのようにそれを解消するかが「適用の帰結」で記述されます。解決策によってフォースが解消されないなら、それはフォースではなくコンテキストかもしれません。
「適用の帰結」には、「利点 Benefits」と「制約 Liabilities」があります。利点は、解決策を適用したときにユーザーが得ると思われる便益です。一方で、解決策がフォースを解消する過程で部分的な制約が生じることがあります。例えば、家財の盗難防止のためにドアに鍵を取り付けたなら、鍵を管理しなければなりません。こうした制約もフォースに関連付けて記述されます。