Navigation:  Appendix B: Dolphin Pattern Book >

Software Patterns

Previous pageReturn to chapter overviewNext page

Software developers have been attempting to make it easier to write software for many years. Much of the effort has gone into increasing the potential for re-use. The idea of reusing one software component, designed for a particular application, within another separate application seems appealing. The introduction of Object Oriented programming languages (such as Smalltalk) went a long way towards improving the potential for code reuse but still the goal remains largely unfulfilled.

Other engineering professions have been successfully reusing design solutions by collecting them in "handbooks" available to all members of the profession. These have been particularly successful in the mechanical engineering and architectural fields. In some sense, the flexibility of software has been to its own detriment. It's very easy to copy a piece of software, modify the copy and produce a new product. One can't do that quite so easily with a suspension bridge. This supposed ease with which new software can be created has steered its development away from a more traditional engineering discipline. We're finally realizing, however, that it is design reuse that's even more important than code reuse if the software industry is to achieve its goals.

Software Design Patterns are a candidate for a Software Engineer's Handbook. For Dolphin Smalltalk we have put together a book of Pattern Sheets that document how and why certain design decisions should be undertaken. Some of these pages are tailored specifically to solving problems with Dolphin but many can be applied to other Smalltalk dialects with little modification.