Introduction: Defining a Pattern
What is a pattern language in design patterns?
Can you explain what a micro pattern is?
How can we evaluate the effectiveness of a design pattern?
Can you explain the concept of "Pattern Mining"?
Describe the steps to evolve a proto-pattern into a mature design pattern?
What is a proto-pattern in terms of design patterns?
One example of a proto-pattern is the "null object" pattern, which suggests using a null object to handle situations where a null value is expected.
What do you name a description or fragment of a proto-pattern?
One example of a patternlet is the "parameter object" patternlet, which involves passing a single object as a parameter instead of multiple individual parameters.
How can we know if a design pattern is worth utilizing?
Technical Response: Estimating a good design pattern.
Solves a particular problem: Patterns are not designed to capture concepts or methods; instead, they are designed to capture solutions. This method is a necessary component of a successful design pattern.
There is no clear answer to this problem: Problem-solving frequently seeks to deduce from well-known concepts. The best design patterns frequently give indirect answers to challenges – this approach is an essential strategy for the most challenging design problems.
The concepts must be proven solutions to a problem: Design patterns require proof that they function as described, and without this, we should not entertain their use.
It must describe or express a relationship: A pattern may represent a module type in some circumstances. While an implementation may appear this way, the formal design description must specify far deeper system structures and processes that explain how it connects to our code.
What is "The Rule of Three" concerning design patterns?
To show recurrence, one must demonstrate:
Fitness of purpose: How is the pattern proven to be successful?
Usefulness: Why is the pattern considered good?
Applicability: Is the design worthy of being a pattern because it pliable? How we implement, the design pattern must be detailed. When reviewing or defining a design pattern, it is essential to keep the above in mind.