Skip to content

Latest commit

 

History

History
38 lines (14 loc) · 993 Bytes

README.md

File metadata and controls

38 lines (14 loc) · 993 Bytes

Design Patterns in Scala

Implementing Common Design Patterns in Scala

1. Creational Patterns

1.1 Factory Method

Factory Method pattern provides a flexible way to instantiate an object from several subclasses inherited from a superclass or a group of classes implemented a given trait.

1.2 Singleton

Singleton pattern describes a type that can only have one object constructed for it. All objects that use an instance of that type use the same instance. Singleton concept is fully supported in Scala Language with Scala "object".

2. Structural Patterns

2.1 Proxy

Proxy pattern lets clients to access the real Service/Object indirectly through a placeholder object or proxy. For example, if requiring protection, access control can be applied through proxy.

3. Behavioural Patterns

3.1 Observer Pattern

Observer Pattern provides a way of ensuring that a set of objects is notified whenever the state of another object changes.