−"Let's extract this into a Strategy Pattern,"
"Let's wrap the external SDK with an Adapter Pattern,"
"A Query Facade works better than a Repository for this query" — statements like these lower the cost of conversation.
This document is not a comprehensive explanation of every pattern; it is a pattern index for a personal wiki. The detailed content of each pattern is broken out into separate pages. When a pattern document grows too long, it becomes hard to search within a single page, and adding examples and counter-examples later becomes inconvenient.
+Suppose an output component keeps gaining conditionals for different formats. Moving each conversion into a function or object lets the format change while the output code stays the same. This solution structure is called the Strategy pattern.
"Let's extract this into a Strategy pattern" means separating a changing processing rule from the component so that the rule can be replaced.
"Let's wrap the external SDK with an Adapter pattern" means fitting an external library's calling conventions to the contract our own code uses.
"A Query Facade works better than a Repository for this query" puts the focus on producing the result a screen needs, rather than on loading and saving business objects. Such names shorten the discussion when the team shares an understanding of the problem and the roles.
Use this page to find a pattern for the problem you are facing. Start with a situation in the selection guide, then follow the individual article to see which roles it separates and why, with examples.