This section lists some design patterns which are useful in Scala programs. There’s also the pattern replacements page, which describes ways in which Scala language features make some common patterns unnecessary.
These patterns are provided as references to help programmers from other Object-oriented languages see how the classic GoF Design Patterns can be applied using idiomatic Scala. Of course all of these patterns can be realized using only Scala’s OO features, much as they can in Java or C++, but many have much more concise and/or robust representations in Scala.