习惯二:坚持(adhering to)一个结构
一旦你有了原始素材,你怎么把它们写成模式的形式(form)呢?
好,首先,不要假设只有一种模式的形式。没有一种形式适合于所有人
。一些人喜欢像Alexander那样更通用(prosey)的风格。另一些喜欢像
<<设计模式>>中使用的更细粒度(fine-grained)方法。还有一些使用
完全不同的结构。这些结构所共享的特性只是它们的结构。
如果有一个大多数人同意的著名的术语,它将是亚历山大定义(Alexandrian
canon):一个模式是“对特定问题在特定环境的特定解决方案”(a solution
to a problem in a context)。现在我很大胆的稍微修改一下这个定义:
一个模式是对特定问题在特定环境的特定解决方案的结构化的清楚的
明细的解释(structured exposition)。模式有可识别(recognizable)的部分,
这些部分引导它们的应用和比较。这些部分包括一个名字,一个问题的陈述,
环境和解决方案的修正,和解决方案本身。这基本上是Alexander模式的结构
。我们的模式更进一步把这些基本要素分解成更集中的处理,如“适用性”,
“参与者”,和“效果”小节。1994年的模式语言编程(PLoP)进程会议包括
令人惊讶的对这些主题的不同的变化。
因此,把模式写在纸上的第一步是决定它的结构。你的模式的平均的信息量越多
,你的结构就越重要。一致的结构使模式具有统一性(uniformity),使人们
更容易比较它们。结构也帮助人们搜索信息。更少的结构意味着更通用(prose),
可能会更适合于休闲的阅读,不过可能不为比较和参考目的所接受。
一旦你确定一个结构,确定你将始终如一的遵守它。你不必害怕改变结构,
不过你必须在每个模式中改变它,而且当你的模式成熟后这将变得更加
代价高昂。