Patterns
Patterns are reusable solutions to commonly occurring problems in software design, architecture, or development practices. Design patterns capture proven approaches that can be adapted to specific contexts, improving communication and reducing reinvention.
Below is an overview of content that matches the tag "patterns".
Note that this list is not exhaustive, as it is automatically aggregated based on manually assigned categorizations.
If you notice a missing element, or think some of the items are wrongfully categorized, please create a bug/improvement ticket on our github issue tracker.
Books tagged with "Patterns"
Patterns, Principles, and Practices of Domain-Driven Design
Implementing Domain-Driven Design in .NET
Millett, S.; Tune, N. (2015) Patterns, Principles, and Practices of Domain-Driven Design. Wrox. isbn: 1118714709.
Scott Millett and Nick Tune provide a comprehensive guide to applying domain-driven design within .NET ecosystems. They connect strategic patterns—bounded contexts, context mapping—with tactical constructs such as aggregates, domain services, and events. Depth and detailed examples make this a later-stage read for engineers ready to align code with business language across large systems.
Design Patterns
Elements of Reusable Object-Oriented Software
Gamma, E.; Helm, R.; Johnson, R.; Vlissides, J. (1994) Design Patterns. Addison-Wesley Professional. isbn: 978-0201633610.
Often called the Gang of Four book, Design Patterns catalogues reusable solutions for object-oriented systems. Each pattern outlines intent, structure, and trade-offs so teams can spot when the guidance helps and when it adds unnecessary complexity. Despite its age, the catalogue remains a foundational reference for developers who need shared language around extensibility and maintainability.
Refactoring
Improving the Design of Existing Code
Fowler, M.; Beck, K.; Brant, J.; Opdyke, W.; Roberts, D. (2012) Refactoring. Addison-Wesley Professional. isbn: 978-0133065268.
Refactoring teaches how to improve existing code safely by taking small, behaviour-preserving steps. Martin Fowler and collaborators catalogue common code smells, explain when to refactor, and demonstrate each transformation with tests. The examples use Java (and newer editions TypeScript), but the principles apply across languages whenever teams need cleaner design.
Clean Code
A Handbook of Agile Software Craftsmanship
Martin, R. C. (2008) Clean Code. Pearson. isbn: 978-0132350884.
Clean Code advocates for readable, maintainable software through small, disciplined practices. Robert C. Martin demonstrates naming, function extraction, and test-first habits that keep code easy to change while cautioning against dogma. Treat it as a set of guiding principles to inspire teams, adapting the advice to modern tooling and context.



