|
|
 |
|
|
|
Coming Events |
| Wednesday, February 17, 2010 |
| Manchester - SharePoint 2010 Overview |
| Thursday, February 18, 2010 |
| Southampton - How to Sync by the seaside |
| Monday, February 22, 2010 |
| Coventry - The Kitchen Synch |
| Tuesday, February 23, 2010 |
| Birmingham - I Azure You! |
| Friday, February 26, 2010 |
| Manchester - BONUS EVENT! Test Driven Devel |
|
|
|
|
Member Quotes |
|
|
|
Event Resources |
|
|
| |
|
|
|
Conferences |
|
|
Mix10 |
|
Partner Showcase |
|
|
The International .NET Association (INETA) provides structured, peer-based organizational, educational, and promotional support to the growing worldwide community of Microsoft .NET user groups. |
|
|
|
|
|
|
 |
|
|
 |
|
 |
|
|
| Event Breakdown |
|
|
|
| Alex Homer
|
DIP Your Toes into the World of Injection |
DIP is the Dependency Inversion Principle that helps you to achieve separation of concerns. Dependency inversion is a high-level pattern that describes the process of designing applications so that, rather than specifying concrete dependencies within the application at design time and creating the required objects in the code, the application decides at runtime what objects it needs, and generates and injects these into the application. This process extends to individual components as well. If the application decides at runtime that it requires a GreenWidget (rather than the other options of a red or a yellow one), and that GreenWidget requires a BeanCounter and an OrangeJuicer then—according to DIP—the application will create and inject these into the GreenWidget at runtime. And so on, ad infinitum (or until you run out of resources).
Of course, you may be uncomfortable with visions of computers taking over the world (as if they hadn't already) where every application makes its own decisions on what components it will use. In fact, you control the process by specifying mappings or policies. The great thing is that you can modify these mappings and policies to change the behavior of the application. You may do it through configuration, or through minor updates to sections of the code. Or it may happen through interaction with external sources such as a data store or even the environment. Effectively, your application can check the weather outside, and decide whether to take an umbrella.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
|
 |
|
|