Added description of Dependency Injection pattern in README.md.
This commit is contained in:
parent
182a4ff899
commit
955c88e336
10
README.md
10
README.md
@ -60,6 +60,7 @@ Behavioral patterns are concerned with algorithms and the assignment of responsi
|
||||
* [Null Object](#null-object)
|
||||
* [Intercepting Filter](#intercepting-filter)
|
||||
* [Specification](#specification)
|
||||
* [Dependency Injection](#dependency-injection)
|
||||
|
||||
### Concurrency Patterns
|
||||
|
||||
@ -629,6 +630,15 @@ validation and for building to order
|
||||
* The objects are expensive to create (allocation cost)
|
||||
* You need a large number of short-lived objects (memory fragmentation)
|
||||
|
||||
## <a name="dependency-injection">Dependency Injection</a> [↑](#list-of-design-patterns)
|
||||
**Intent:** Dependency Injection is a software design pattern in which one or more dependencies (or services) are injected, or passed by reference, into a dependent object (or client) and are made part of the client's state. The pattern separates the creation of a client's dependencies from its own behavior, which allows program designs to be loosely coupled and to follow the inversion of control and single responsibility principles.
|
||||
|
||||

|
||||
|
||||
**Applicability:** Use the Dependency Injection pattern when
|
||||
* When you need to remove knowledge of concrete implementation from object
|
||||
* To enable unit testing of classes in isolation using mock objects or stubs
|
||||
|
||||
|
||||
|
||||
# Frequently asked questions
|
||||
|
Loading…
x
Reference in New Issue
Block a user