patterns

Information:

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.

An overview of all tags used in this publication can be found in our tag list: go to overview

Books tagged with "patterns"

cover image for 'Patterns, Principles, and Practices of Domain-Driven Design'
bibliographical reference:
Millet, S. & Tune, N. (2015) Patterns, Principles, and Practices of Domain-Driven Design. Wrox. isbn: 1118714709.
description:

Millet and Tune are some of the forerunners in the field of Domain-Driven Design, an architectural approach that aims to further allign business concepts and their technical implementation. The authors focus on the core concepts of a domain-driven system development approach, and offer practical advice to the reader on how to apply the principles and ideas in their daily endeavours. As the book dives deep into advanced concepts, it is advisable to pick this up later in your journey, after you have gained experience working on real systems.

content categories: architecture patterns communication
complexity categories: advanced reference

Design Patterns

Elements of Reusable Object-Oriented Software

cover image for 'Design Patterns'
bibliographical reference:
Gamma, A.; Helm, Rl; Johnson, R., Vlissides, J. (1994) Design Patterns. Addison-Wesley Professional. isbn: 978-0201633610.
description:

Known as the ‘Gang of Four,’ the authors of this book have contributed significantly to the field of software development. Their work serves as a foundational text in the discipline.

In the book, they present a collection of programming structures in the form of design patterns. These patterns explain when and how to apply them, as well as their potential drawbacks. While some of the advice in the book, particularly those related to inheritance, may be considered outdated in contemporary software development, the core concepts remain relevant.

The ‘Gang of Four’ patterns provide valuable insights into addressing challenges like extensibility, maintainability, and encapsulation. They offer tried and tested approaches to structuring software, making it a valuable resource for any programmer or software engineer.

complexity categories: intermediate reference

Refactoring

Improving the Design of Existing Code

cover image for 'Refactoring'
bibliographical reference:
Fowler, M.; Beck, K.; Brant J.; Opdyke W.; Roberts D. (2012) Refactoring. Addison-Wesley Professional. isbn: 978-0133065268.
description:

The authors provide invaluable insights into achieving well-structured code safely, even in the context of modern Integrated Development Environments (IDEs). While the book’s examples use Java, the underlying concepts are language-agnostic. Whether you work with a programming language or a scripting language, the principles and techniques discussed here are universally applicable.

For those with an particularly strong aversion to Java, a recent edition of the book showcases the same techniques using TypeScript. Whichever edition you choose, “Refactoring” offers timeless wisdom for enhancing your code quality.

complexity categories: novice mixed reference

Clean Code

A Handbook of Agile Software Craftsmanship

cover image for 'Clean Code'
bibliographical reference:
Martin, R. C. (2008) Clean Code. Pearson. isbn: 978-0132350884.
description:

In the world of software development, writing code is only half the battle. The real challenge lies in writing clean, efficient, and maintainable code. In “Clean Code: A Handbook of Agile Software Craftsmanship,” Robert C. Martin, also known as “Uncle Bob”, provides invaluable insights into the art and science of writing clean code.

Martin emphasizes the importance of readability, simplicity, and attention to detail, guiding readers through the process of writing code that is easy to understand, test, and maintain. Whether you’re a beginner looking to build strong coding habits or an experienced programmer aiming to refine your skills, this book provides the tools and techniques necessary to elevate your craft.

Through a series of practical examples and best practices, “Clean Code” equips readers with the knowledge and skills to write elegant, maintainable code. The biggest takeaway from this book is the importance of writing code that is not only functional but also a joy to read and work with. While the book offers a wealth of valuable advice, it’s important to use “Clean Code” as an inspiration rather than a set of strict rules. Some practices may be considered outdated in contemporary software development, but the core principles and concepts remain relevant and essential for any programmer or software engineer.

complexity categories: novice reference