PATTERNS, SYMMETRY, and SYMMETRY BREAKING.

The article discusses the relationship between programming language and patterns in the design of computer software and how it relates to symmetry. Symmetry is related to invariance and isomorphism but an outside force can partially break the symmetry of a system, forming patterns. Object-oriented (...

Full description

Bibliographic Details
Published in:Communications of the ACM Vol. 51; no. 3; pp. 40 - 47
Main Author: Zhao, Liping
Format: Article
Published: Association for Computing Machinery Mar2008
Subjects:
Online Access:View this record in EBSCOhost
Description
Summary:The article discusses the relationship between programming language and patterns in the design of computer software and how it relates to symmetry. Symmetry is related to invariance and isomorphism but an outside force can partially break the symmetry of a system, forming patterns. Object-oriented (OO) programs and programming languages are composed of objects that use fractal geometry and therefore incorporate symmetries. Symmetry can help predict how objects behave in OO programs and maintain consistency in designs. When symmetry in OO programming languages is broken to reduce rigidity, design patterns are created.