Patterns of Symmetry and Stability In Software Architecture ............................... 1 1.1 Abstract .......................................................................................... 1 1.2 A Story of Beginnings......................................................................... 1 1.3 Introduction ..................................................................................... 2 1.4 The Definition of Symmetry in Software Architecture ............................... 2 1.5 The Patterns of Symmetry in Software Architecture ................................. 2 1.5.1 Context and Scope....................................................................... 4 1.6 Motivation for Identifying and Categorizing Symmetry ............................. 4 1.6.1 Stability, Balance and Symmetry .................................................... 4 1.7 Categories of Symmetry ..................................................................... 4 1.8 Local and Global Symmetry ................................................................. 5 1.8.1 Pattern: Symmetry-preserving Transformation.................................. 5 1.8.2 Pattern: Fractal MVC .................................................................... 6 1.8.3 Pattern: Two-way Mapping ............................................................ 6 1.9 Pattern: Capture the Manners .............................................................32 1.10 Pattern: Mapping Layer ..................................................................43 1.11 Pattern: “Ten” Layers .....................................................................73 1.11.1 Consequences ....................................................................... 103 1.11.2 Pattern: Business Driven Breadth-first ....................................... 106 1.12 Conclusion ................................................................................. 120 1.13 References ................................................................................. 122 2 Appendix A......................................................................................... 148 2.1 Categories (Types) of Symmetry ....................................................... 150 2.1.1 Fractal Symmetry ..................................................................... 154 2.1.2 Transformational Symmetry........................................................ 160 2.1.3 Static or Design Symmetry ......................................................... 166 2.1.4 Physical Symmetry .................................................................... 177 2.1.5 Configuration Symmetry ............................................................ 181 2.1.6 Start-up Symmetry ................................................................... 183 2.2 Dynamic Symmetry ........................................................................ 185 2.3 Adaptive Symmetry ........................................................................ 187 3 Appendix B: Definitions ........................................................................ 191 3.1 Webster........................................................................................ 192
[1]
Sally Fincher,et al.
What is a Pattern Language
,
2000
.
[2]
James Coplien,et al.
Reevaluating the architectural metaphor: Toward piecemeal growth
,
1999,
IEEE Software.
[3]
James Noble.
Need to know: Patterns for coupling contexts and components
,
2002
.
[4]
Ralph E. Johnson,et al.
Patterns Generate Architectures
,
1994,
ECOOP.
[5]
James Coplien,et al.
Symmetry Breaking in Software Patterns
,
2000,
GCSE.
[6]
Paul Clements,et al.
Software architecture in practice
,
1999,
SEI series in software engineering.