An Example of Software Pattern


Following example illustrates two specific design problems from different domains of software engineering and knowledge engineering abstracted to a generalized design problem that can be solved succesfully using a design pattern.

First problem:

Designer of a intelligent software system wants to develop an explanation generator that can generate explanations for different users.

Second Problem:

Design of the format converter in a document-processing system. A document in a certain format should be converted to many other different formats, and it should be easy to extend the converter when it has to support another new format.