Some common patterns may be better implemented using features specific to Scala (or at least less common in other OO languages).
The singleton pattern describes a way to ensure that only one instance of an object exists. Scala’s object keyword provides a more straightforward way to accomplish this in some circumstances, however more general approaches which provide better support for subclassing singletons and for multithreaded usage are described in component mixins and dynamic scope.
The strategy pattern is used to encapsulate a family of algorithms such that they are interchangeable. Using classes to encapsulate single algorithms in Scala is likely to be overkill, since we can just as well pass about the functions themselves.
The visitor pattern is used to perform a set of operations over all elements of an object structure. For many purposes, this can be more easily achieved in Scala using pattern matching over case classes.