Software design patterns, first codified by Gamma et. al. have become an indispensable tool for the jobbing programmer. In software development, design patterns are structured descriptions of the common ways in which programmers overcome the kinds of problems which occur again and again in their work. By formalizing such patterns, programmers are able to talk to each other about them, to compare different patterns for a given solution, and to develop a reusable "tool-box" of both software components and approaches to building software components. For topic map practitioners, there is an interesting parallel. Often in a topic map application there will be more than one way of achieving a goal - the structure of topic maps is sufficiently flexible that two topic map designers faced with a problem may generate two (or more!) different solutions. In many cases there is no single correct solution, but instead a set of trade-offs to choose between. Developing formal patterns for topic map design would benefit designers in the same way as software engineers benefit from software design patterns:

Up: Topic Map Design Patterns For Information Architecture
Next: PSIs and Patterns