Why are patterns required?
According to the authors, the three key advantages of pattern-oriented software development that stand out are as follows:
- A language/platform-agnostic way to communicate about software artifacts
- A tool for refactoring initiatives (targets for refactoring)
- Better API design
With the advent of the pattern movement, the software development community got a canonical language to communicate about software design, architecture, and implementation. Software development is a craft that has got trade-offs attached to each strategy, and there are multiple ways to develop software. The various pattern catalogs brought some conceptual unification for this cacophony in software development.
Most developers around the world today who are worth their salt can understand and speak this language. We believe you will be able to do the same by the end of the chapter. Imagine yourself stating the following about your recent implementation:
Tip
For our tax computation example, we have...