From 8d5ab66099a78496eb7eb7f0add7f50979a0203f Mon Sep 17 00:00:00 2001 From: Corey McMahon Date: Mon, 14 Jan 2013 15:28:25 +1100 Subject: [PATCH] Added a sentence defining the benefit or using DI over the singleton pattern --- pages/Design-Patterns.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pages/Design-Patterns.md b/pages/Design-Patterns.md index cb3a9a8..d57b79b 100644 --- a/pages/Design-Patterns.md +++ b/pages/Design-Patterns.md @@ -101,8 +101,9 @@ request lifecycle in a web application. This typically occurs when we have globa class) or a shared resource (such as an event queue). You should be wary when using the singleton pattern, as by its very nature it introduces global state into your -application, reducing testability. In most cases, dependency injection can (and should) be used in place of -singleton objects. +application, reducing testability. In most cases, dependency injection can (and should) be used in place of a +singleton class. Using dependency injection means that we do not introduce unnecessary coupling into the design of our +application, as the object using the shared or global resource requires no knowledge of a concretely defined class. * [Singleton pattern on Wikipedia](https://en.wikipedia.org/wiki/Singleton_pattern)