Our journey through the Scala design patterns has arrived at the family of behavioral design patterns. This group has more members than the others we already went through, so we will split it into two separate parts. In this chapter, we will focus on the following behavioral design patterns:
Value object
Null object
Strategy
Command
Chain of responsibility
Interpreter
This and the next chapter will give some clarity about what behavioral design patterns are, where they are useful, and how to implement them in Scala. We will be following a path similar to the previous chapters where we presented the patterns, showed a class diagram and a code example, and finally, gave a few hints about what to watch out for and where certain patterns are preferred to be used. Hopefully, you will get a feel of them and be able to confidently identify situations where they are applicable.