Monostate pattern #85

This commit is contained in:
amit2103
2015-10-04 03:06:11 +05:30
parent 9eb64bc0e5
commit c8fd9f3a0d
8 changed files with 180 additions and 0 deletions

28
monostate/index.md Normal file
View File

@ -0,0 +1,28 @@
---
layout: pattern
title: MonoState
folder: monostate
permalink: /patterns/monostate/
categories: Creational
tags: Java
---
**Intent:** Enforces a behaviour like sharing the same state amongst all instances.
![alt text](./etc/monostate.png "MonoState")
**Applicability:** Use the Monostate pattern when
* The same state must be shared across all instances of a class.
* Typically this pattern might be used everywhere a SingleTon might be used. Singleton usage however is not transparent, Monostate usage is.
* Monostate has one major advantage over singleton. The subclasses might decorate the shared state as they wish and hence can provide dynamically different behaviour than the base class.
**Typical Use Case:**
* the logging class
* managing a connection to a database
* file manager
**Real world examples:**
Yet to see this.