add Singleton pattern

This commit is contained in:
Jakub Vojvoda
2016-09-08 10:15:12 +02:00
parent d34503477a
commit ce74cf0ee5
2 changed files with 61 additions and 0 deletions

15
singleton/README.md Normal file
View File

@@ -0,0 +1,15 @@
## Singleton
Ensure a class only has one instance, and provide a global point of access to it.
Pattern has creational purpose and deals with object relationships, which are more
dynamic. The Singleton is often used as a part another design patterns (see [Fa<46>ade]
and [Flyweight]).
### When to use
* there must be exactly one instance of a class, and it must be accessible to clients from a well-known access point
* when the sole instance should be extensible by subclassing, and clients should be able to use an extended instance without modifying their code
[Fa<46>ade]: https://github.com/JakubVojvoda/design-patterns-cpp/tree/master/facade
[Flyweight]: https://github.com/JakubVojvoda/design-patterns-cpp/tree/master/flyweight