Merge pull request #252 from 0x13a/master

service locator is anti-pattern
This commit is contained in:
Dominik Liebler
2016-11-29 11:02:58 +01:00
committed by GitHub
2 changed files with 6 additions and 1 deletions

View File

@@ -1,6 +1,11 @@
`Service Locator`__
===================
**THIS IS CONSIDERED TO BE AN ANTI-PATTERN!**
Service Locator is considered for some people an anti-pattern. It violates the Dependency Inversion principle.
Service Locator hides class' dependencies instead of exposing them as you would do using the Dependency Injection. In case of changes of those dependencies you risk to break the functionality of classses which are using them, making your system difficult to maintain.
Purpose
-------

View File

@@ -86,7 +86,7 @@ The patterns can be structured in roughly three different categories. Please cli
### [More](More)
* [Delegation](More/Delegation) [:notebook:](http://en.wikipedia.org/wiki/Delegation_pattern)
* [ServiceLocator](More/ServiceLocator) [:notebook:](http://en.wikipedia.org/wiki/Service_locator_pattern)
* [ServiceLocator](More/ServiceLocator) [:notebook:](http://en.wikipedia.org/wiki/Service_locator_pattern) (is considered an anti-pattern! :no_entry:)
* [Repository](More/Repository)
* [EAV](More/EAV) [:notebook:](https://en.wikipedia.org/wiki/Entity%E2%80%93attribute%E2%80%93value_model)