Summary

In this chapter, we focused on unification. We saw how there is a unification between functions and classes, ADTs, and class hierarchies as well as modules and objects. This allows us to be much more expressive and write cleaner and more efficient code. We also covered what pattern matching is and how it can be used in Scala to write good code.

Some of the concepts covered in this chapter will be useful in the following chapters where we will be implementing concrete design patterns. They can also be used to write good software outside the defined design patterns just because the expressivity of Scala allows it, and this defies the need to do the extra work that design patterns add.

In the next chapter, we will look into abstract and self-types ...

Get Scala Design Patterns now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.