This is a collection of Findings and case studies of Software and Object Oriented Programming design patterns.
I'm building this repository just as study notes for myself. The language of choice is Typescript.
Each pattern has its own folder with a md
description file and some other ts
files with implementation details. The document structure is as it follows:
- Pattern Name and Classification: Name and family of the pattern (must include aliases).
- Intent: What the pattern addresses.
- Scenario: A real problem showcasing how the pattern solves the issue.
- Applicability: Situations that are best suited for this pattern to work.
- Structure: Graphical representation of the pattern.
- Participants: The classes and/or objects participating in the design pattern and their responsibilities.
- Collaborations: How the participants collaborate to carry out their responsibilities.
- Consequences: Trade-offs and results of implementing a pattern.
- Implementation: Tips and tricks when implementing the pattern.
- Sample Code: Link to
ts
files with sample code. - Known Uses: Examples of the pattern found in real systems.
- Related Patterns: What design patterns are closely related to this one? What are the important differences? With which other patterns should this one be used?