前面说了,每个人都在有意无意地使用自己的模式语言,这其中有好的模式语言,当然也有坏的。
GoF整理出来的那些模式当然都是好的模式。但事实上,好与坏都是相对的,如果用得不好GoF一样会成为坏模式。因为Alex说得明白:模式的运用必须与环境相结合,如果与环境结合不好,它在这里就是坏模式。所以我们可以通过感觉在运用模式之后,程序是否增加了Bad smell来判断这个模式是坏还是好。只要是好模式,不论它是不是GoF模式或其它推荐模式,都应该用。
如何判断自己的模式是不是好模式?很简单,首先在你曾经使用过它的程序中,如果没在因此增加Bad smell,而且你在别人的程序里也看到类似的用法,那它通常就是一个值得记录的好模式。