service locator is anti-pattern

This commit is contained in:
Diego Mariani
2016-11-29 10:47:13 +01:00
parent 4d134665f5
commit 9206851f21
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)