Refactoring to Patterns
Patterns are undeniably useful design aids and a cornerstone of object-oriented programming. Yet with the emergence of agile
methodologies like Extreme Programming, our motivation for using patterns has changed. Today, we use patterns when they can
help us reduce or remove duplication, simplify the complex, or make our code better at communicating its intent. In other
words, we refactor to patterns for the same reason we refactor in general: to improve the design of our code. But since the
motivation for using a pattern, according to the published literature, rarely resembles the motivation to refactor, it is
easy to misapply patterns or over-engineer solutions using patterns. In this activity, we will study numerous real-world refactorings
to patterns and examine the refactoring roots of patterns, the role of patterns in evolutionary design and common motivations
for refactoring to patterns.
Flavor: small 45 to 60 minutes
In this flavor, we review 10 of the most frequently used refactorings to patterns.
ID: 34A |
Flavor: large 90 to 180 minutes
In this flavor, we review around 2 dozen refactorings to patterns and discuss the philosophy of emergent design and how
it relates to using patterns.
ID: 34B |
Flavor: challenge 150 to 180 minutes
In this flavor, programmers have a chance to try their hand at refactoring programs to use patterns. The code we supply
isn't toy code, but rather code that is inspired from real-world projects. In addition, we supply lots of test code so you
can refactor with a safety net. This is a challenging activity!
ID: 34C |
|
|

|