Software Architecture & Engineering
55 notes
Some notes are currently available only in Chinese. English translations are shown when available.
- Law of Demeterhistorical
Reducing knowledge of distant object structure and avoiding brittle navigation through internal collaborators.
- Composition over Inheritancehistorical
Reusing behavior through composition/delegation when subtype inheritance would create unnecessary coupling.
- Object-Oriented Design Principleshistorical
A practical view of SOLID and related principles for controlling coupling, responsibilities, and change.
- Object-Oriented Design Patternshistorical
Reusable design structures and the trade-offs behind creational, structural, and behavioral patterns.
- Singleton Patternhistorical
A single shared instance, initialization safety, lifecycle, testability, and global-state trade-offs.
- Proxy Patternhistorical
Interposing an object to control or augment access to another object while preserving its contract.
- Template Method Patternhistorical
Fixing an algorithm skeleton while allowing selected steps to vary in subclasses or callbacks.
- Factory Method Patternhistorical
Separating object creation decisions from clients that consume the created abstraction.
- State Patternhistorical
Representing state-dependent behavior with explicit state objects instead of sprawling conditionals.
- Builder Patternhistorical
Constructing complex objects step by step with readable optional configuration and validation.