Simberon Design Minute
 

Points of Variability

While talking to a fellow designer once about software design, he said that good designers can identify points of variability in the application and create the designs to accommodate them. A point of variability is a place in the code where different circumstances require different processing. Perhaps a report to print may have different styles or different report file formats. Recognizing that you may want to have different styles or different file formats in the future is the first step in designing a solution that allows that aspect to vary. Usually, this variation is accomplished by making objects to handle each variation and calling those objects in a uniform way. If you want a different style, just plug in a new style object which responds to the proper messages. Recognizing these points of variability is the first step in creating a flexible design.

Download