In this chapter, we went through the first group of behavioral design patterns. We looked at the value object, null object, strategy, command, the chain of responsibility, and interpreter. As in the previous chapters, we saw that some of these patterns have better alternatives that use the more powerful and flexible features of Scala. In many cases, there are multiple different ways to implement the same design pattern. We've tried to show some good ones and we've also tried to avoid repetition in the cases where more design patterns can use the same features of the Scala programming language. By now, you should have enough knowledge in order to actually use an alternative implementation by yourself when told which approach to use, based on what we've already shown.
We've given some pointers that should help in figuring out what to look for when writing...