<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Enigmativity - IT Consulting - Development</title>
    <link>http://www.enigmativity.com/blog/</link>
    <description>Consulting in .Net, Agile &amp; Risk Reduction Best Practices</description>
    <image>
      <url>http://www.enigmativity.com/blog/www.enigmativity.com/avatar.jpg</url>
      <title>Enigmativity - IT Consulting - Development</title>
      <link>http://www.enigmativity.com/blog/</link>
    </image>
    <language>en-us</language>
    <copyright>James C-S</copyright>
    <lastBuildDate>Thu, 06 Dec 2007 23:37:23 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.9.6264.0</generator>
    <managingEditor>james@enigmativity.com</managingEditor>
    <webMaster>james@enigmativity.com</webMaster>
    <item>
      <trackback:ping>http://www.enigmativity.com/blog/Trackback.aspx?guid=81afe5ed-3c8e-486a-baac-9aa620652618</trackback:ping>
      <pingback:server>http://www.enigmativity.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.enigmativity.com/blog/PermaLink,guid,81afe5ed-3c8e-486a-baac-9aa620652618.aspx</pingback:target>
      <dc:creator>James C-S</dc:creator>
      <wfw:comment>http://www.enigmativity.com/blog/CommentView,guid,81afe5ed-3c8e-486a-baac-9aa620652618.aspx</wfw:comment>
      <wfw:commentRss>http://www.enigmativity.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=81afe5ed-3c8e-486a-baac-9aa620652618</wfw:commentRss>
      <slash:comments>3</slash:comments>
      <title>ADNUG Presentation - Dependency Injection</title>
      <guid isPermaLink="false">http://www.enigmativity.com/blog/PermaLink,guid,81afe5ed-3c8e-486a-baac-9aa620652618.aspx</guid>
      <link>http://www.enigmativity.com/blog/2007/12/06/ADNUG+Presentation+Dependency+Injection.aspx</link>
      <pubDate>Thu, 06 Dec 2007 23:37:23 GMT</pubDate>
      <description>I'm doing a presentation on Dependence Injection at the December 12 meeting of &lt;a href="http://www.adnug.com/"&gt;ADNUG &lt;/a&gt;(Adelaide
Dot Net Users Group). Here's my blurb:&lt;br&gt;
&lt;br&gt;
&lt;p class="MsoNormal"&gt;
&lt;span style="font-size: 11pt; font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: rgb(31, 73, 125);"&gt;The
four main features of Object Oriented Programming - Inheritance, Abstraction, Encapsulation
and Polymorphism - allow us to create applications where each class is nicely designed,
easily tested, maintained and hence reusable across many projects. However, more often
than not, the classes in our applications become tightly coupled and tangled with
interdependencies, which in turn makes them difficult to test, maintain and reuse.
Our applications become fragile and we lose much of the benefit of Object Oriented
Programming.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;span style="font-size: 11pt; font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: rgb(31, 73, 125);"&gt;The
Dependency Injection Pattern (otherwise known as Inversion of Control) maintains louse
coupling of the classes that depend on each other in our applications by "injecting"
the dependencies at run-time rather than design-time. In .Net Dependency Injection
makes great use of interfaces, thus promoting "Interface Driven Development" and/or
"Test Driven Development", and facilitates many other Design Patterns such as Model-View-Controller,
Model-View-Presenter, Factory Patterns, the Strategy Pattern, etc. 
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;span style="font-size: 11pt; font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: rgb(31, 73, 125);"&gt;There
are numerous Dependency Injection frameworks available for .Net – &lt;a href="http://www.castleproject.org/"&gt;Castle
MicroKernel/Windsor&lt;/a&gt;, &lt;a href="http://www.codeplex.com/Wiki/View.aspx?ProjectName=ObjectBuilder"&gt;Patterns
&amp;amp; Practices ObjectBuilder&lt;/a&gt;, &lt;a href="http://www.picocontainer.org/"&gt;PicoContainer.NET&lt;/a&gt;, &lt;a href="http://www.puzzleframework.com/forum/forum.aspx?Forum=25"&gt;Puzzle.NFactory&lt;/a&gt;, &lt;a href="http://www.springframework.net/"&gt;Spring.NET&lt;/a&gt;, &lt;a href="http://structuremap.sourceforge.net/"&gt;StructureMap&lt;/a&gt;, &lt;a href="http://ninject.org/"&gt;Ninject&lt;/a&gt; –
but I’ve written my own. &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Wingdings; color: rgb(31, 73, 125);"&gt;&lt;span style=""&gt;J&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: rgb(31, 73, 125);"&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;span style="font-size: 11pt; font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: rgb(31, 73, 125);"&gt;In
this presentation, I'm going to demonstrate a couple of aspects of my Dependency Injection
framework. There is far more in the total framework than can be discussed in 45 minutes,
so I shall be cover the basics of "Interface Driven Development" and the use of "Abstract
Factories" my framework to show how I can keep my classes loosely coupled and testable.&lt;o:p&gt;&lt;/o:p&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;span style="font-size: 11pt; font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; color: rgb(31, 73, 125);"&gt;I'm
going to aim to keep the presentation focused on the practical application of my framework,
but there are some very funky "über"-cool coding techniques under-the-hood that would
be great to discuss. So for those of you wanting to discuss the implementation of
the framework in more detail I'm happy to do so after the presentation. (You can tell
I'm proud of my creation, right?)&lt;/span&gt;
&lt;o:p&gt;&lt;/o:p&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.enigmativity.com/blog/aggbug.ashx?id=81afe5ed-3c8e-486a-baac-9aa620652618" /&gt;</description>
      <comments>http://www.enigmativity.com/blog/CommentView,guid,81afe5ed-3c8e-486a-baac-9aa620652618.aspx</comments>
      <category>Development</category>
    </item>
  </channel>
</rss>