Abstract
A better understanding of software design patterns, symmetries, and broken symmetries is provided based on the Coplien and Zhao postulates. Studies have found that symmetry is closely related to isomorphism and various programming features are explained using symmetry either in general concept of invariance or in its specific form of geometric transformation. Symmetry breaking is known as partial loss of symmetry and has been recognized as a fundamental process of pattern formation. Object-oriented language features create symmetry by enforcing some invariance to its instances, while the type systems are inherently symmetric. Too much symmetry is found to create inflexible and rigid programs such that language designers introduce language features to break the rigid design. Class symmetry breaking plays a major role in the formation of design patterns.
| Original language | English |
|---|---|
| Pages (from-to) | 40-46 |
| Number of pages | 6 |
| Journal | Communications of the ACM |
| Volume | 51 |
| Issue number | 3 |
| DOIs | |
| Publication status | Published - 1 Mar 2008 |
Fingerprint
Dive into the research topics of 'Patterns, symmetry, and symmetry breaking'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver