Scala Design Patterns
上QQ阅读APP看书,第一时间看更新

Summary

In this chapter, we went through traits and mixin compositions in Scala. By now, you should have a good understanding of what these are and what can be achieved using them. We also went through the examples of the different uses of traits and what to watch out for when using them. We presented the limitations of using traits for multiple inheritance. Traits are an extremely powerful concept but they have their pitfalls as we saw in the multiple inheritance, so you should use them carefully. Linearization was covered in depth and you should be familiar with what to expect when using traits for multiple inheritance and why things work exactly the way they currently do.

Testing is an essential part of every good software project, and we also presented how it should be done for traits. Last, but not least, we prepared a few guidelines that should help developers choose between working with traits or classes in Scala.

In the next chapter, we will spend some time on unification. We will show why it is useful and what it helps the developer to achieve in their programs.