Skip to main navigation Skip to search Skip to main content

Patterns, symmetry, and symmetry breaking

    Research output: Contribution to journalArticlepeer-review

    395 Downloads (Pure)

    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 languageEnglish
    Pages (from-to)40-46
    Number of pages6
    JournalCommunications of the ACM
    Volume51
    Issue number3
    DOIs
    Publication statusPublished - 1 Mar 2008

    Fingerprint

    Dive into the research topics of 'Patterns, symmetry, and symmetry breaking'. Together they form a unique fingerprint.

    Cite this