WHAT’S IN THIS CHAPTER?
- Using a decorator to neatly solve a real-world problem
- Using a “fake” to stand in for the decorated object during unit tests
- Using test-driven development to create a reliable decorator
WROX.COM CODE DOWNLOADS FOR THIS CHAPTER
You can find the wrox.com code downloads for this chapter at
The Decorator Pattern is a way of augmenting the capabilities of an object without changing it. You have already met some examples in this book. The memoization aspect in Chapter 8 decorates the function to which it is attached, giving the function the added ability to return a result without doing much work, when it is called with parameters it has seen before. When you set up a Jasmine spy with
.and.callThrough(), you are decorating the spied-on function, augmenting it with the ability to report how many times it was called, and so on.
In this chapter, you will take the decorating process further. Instead of decorating an isolated function, you will decorate an object that has multiple, coordinated functions. You will also get more practice with the
Promise object you encountered in Chapter 6. Finally, this will be another in-depth case study of test-driven development.
The case study is inspired by something ...