A collection of Gang of Four (GOF) design patterns implemented in the Crystal programming language.
Crystal Patterns is a repository containing implementations of the classic Gang of Four (GOF) design patterns written in the Crystal programming language. It provides working code examples for all 23 patterns across behavioral, creational, and structural categories. The project helps Crystal developers understand and apply these proven software design solutions in their own projects.
Crystal language developers who want to learn or reference design patterns, and software engineers building applications in Crystal who need architectural guidance.
It offers the only comprehensive, Crystal-specific implementation of all GOF patterns in one place, serving as both an educational resource and a practical coding reference tailored to the language's syntax and type system.
:book: Examples of GOF patterns written in Crystal
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Includes all 23 Gang of Four patterns, as listed in the README across behavioral, creational, and structural categories, providing a comprehensive reference.
Patterns are adapted to leverage Crystal's syntax and type system, making implementations practical for Crystal developers, as noted in the project philosophy.
Each pattern is presented as clear, runnable examples in Crystal files, aiding direct understanding and application in projects.
The project openly welcomes pull requests for inconsistencies or improvements, encouraging collaboration among Crystal users.
The README lacks detailed explanations, setup guides, or usage instructions, relying solely on code examples which may hinder learning for some users.
Focuses exclusively on classic GOF patterns, ignoring modern patterns like repository or CQRS that are relevant in contemporary software development.
With only a few contributors listed and no mention of testing or continuous integration, the project's long-term upkeep and reliability might be inconsistent.