<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Being Scott Densmore : patterns &amp;amp; practices</title><link>http://blogs.msdn.com/scottdensmore/archive/tags/patterns+_2600_amp_3B00_+practices/default.aspx</link><description>Tags: patterns &amp;amp; practices</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>How to get Enterprise Library 3.1 working in VS 2008</title><link>http://blogs.msdn.com/scottdensmore/archive/2008/03/13/how-to-get-enterprise-library-3-1-working-in-vs-2008.aspx</link><pubDate>Thu, 13 Mar 2008 23:08:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8185320</guid><dc:creator>scottdensmore</dc:creator><slash:comments>18</slash:comments><comments>http://blogs.msdn.com/scottdensmore/comments/8185320.aspx</comments><wfw:commentRss>http://blogs.msdn.com/scottdensmore/commentrss.aspx?PostID=8185320</wfw:commentRss><description>&lt;p&gt;Enterprise Library 3.1 was published for Visual Studio 2005.  That is to say: the Guidance Packages and the integrated Configuration Tool were built to work with Visual Studio 2005.  The rest of the library works against .NET 2.0 and continues to work with .NET 3.5 apps.  &lt;/p&gt;&lt;p&gt;We have done some work to get the integrated tool to work in Visual Studio 2008.  If you run the following registry script it will change the keys where VS looks to load the integrated tool package.  After you run the script, you will need to run devenv /setup from the Visual Studio 2008 command prompt.&lt;/p&gt;&lt;p&gt;You can download the file from the EntLibContrib project on CodePlex from &lt;a mce_href="https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=entlibcontrib&amp;amp;ReleaseId=11669" href="https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=entlibcontrib&amp;amp;ReleaseId=11669"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;[edit]&lt;/p&gt;&lt;p&gt;I will try and be a little clearer for the steps:&lt;/p&gt;&lt;p&gt;1. Install EL 3.1 (you don't need the Guidance Packages)&lt;/p&gt;&lt;p&gt;2. Run the script&lt;/p&gt;&lt;p&gt;3. Run devenv /setup from the VS 2008 command prompt  &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;b&gt;Wheels&lt;/b&gt; from the album "Pressure Chief" by &lt;a mce_href="http://www.google.com/search?q=%22Cake%22" href="http://www.google.com/search?q=%22Cake%22"&gt;Cake&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8185320" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/scottdensmore/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://blogs.msdn.com/scottdensmore/archive/tags/Enterprise+Library/default.aspx">Enterprise Library</category><category domain="http://blogs.msdn.com/scottdensmore/archive/tags/patterns+_2600_amp_3B00_+practices/default.aspx">patterns &amp;amp; practices</category></item><item><title>Unity available on CodePlex</title><link>http://blogs.msdn.com/scottdensmore/archive/2008/02/12/unity-available-on-codeplex.aspx</link><pubDate>Wed, 13 Feb 2008 03:14:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7657612</guid><dc:creator>scottdensmore</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/scottdensmore/comments/7657612.aspx</comments><wfw:commentRss>http://blogs.msdn.com/scottdensmore/commentrss.aspx?PostID=7657612</wfw:commentRss><description>&lt;p&gt;The team has done some great work to get this ready.  Please provide us feedback and track any issues.&lt;/p&gt;&lt;p&gt;I want to congratulate the team on their effort!&lt;/p&gt;&lt;p&gt;Get the bits and read about Unity &lt;a mce_href="http://www.codeplex.com/unity" href="http://www.codeplex.com/unity"&gt;here&lt;/a&gt;. &lt;/p&gt;&lt;!-- technorati tags start --&gt;&lt;p style="text-align:right;font-size:10px;"&gt;Technorati Tags: &lt;a rel="tag" href="http://www.technorati.com/tag/patterns%20&amp;amp;%20practices"&gt;patterns &amp;amp; practices&lt;/a&gt;, &lt;a mce_href="http://www.technorati.com/tag/Unity" rel="tag" href="http://www.technorati.com/tag/Unity"&gt;Unity&lt;/a&gt;&lt;/p&gt;&lt;!-- technorati tags end --&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7657612" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/scottdensmore/archive/tags/patterns+_2600_amp_3B00_+practices/default.aspx">patterns &amp;amp; practices</category><category domain="http://blogs.msdn.com/scottdensmore/archive/tags/Unity/default.aspx">Unity</category></item><item><title>Enterprise Library 4: Now with more Peace Love and Rock n' Roll</title><link>http://blogs.msdn.com/scottdensmore/archive/2008/01/31/enterprise-library-4-now-with-more-peace-love-and-rock-n-roll.aspx</link><pubDate>Thu, 31 Jan 2008 19:14:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7353052</guid><dc:creator>scottdensmore</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.msdn.com/scottdensmore/comments/7353052.aspx</comments><wfw:commentRss>http://blogs.msdn.com/scottdensmore/commentrss.aspx?PostID=7353052</wfw:commentRss><description>&lt;P&gt;At the p&amp;amp;p Summit in November here in Redmond I gave a talk called "EntLib Refactored". This talk was started by my work done on the EntLib contrib project under the same name. What I wanted to do was make Enterprise Library smaller, simpler and easier to consume. My first attempt was to rewrite the blocks to not depend on Configuration. This was a great first stab, yet I found that what I really wanted was to reduce the size of things (which factoring out config did not do). What I wanted to do was get rid of the factories and use a Dependency Injection Container to wire up the objects. &lt;A href="http://bradwilson.typepad.com/" mce_href="http://bradwilson.typepad.com/"&gt;Brad Wilson&lt;/A&gt; and myself had been working on &lt;A href="http://www.codeplex.com/objectbuilder" mce_href="http://www.codeplex.com/objectbuilder"&gt;Object Builder 2&lt;/A&gt; and Containers on top of them to test it out. What we needed for Enterprise Library was a DI Container. &lt;/P&gt;
&lt;P&gt;After working on previous versions of Enterprise Library, we have learned that we needed Dependency Injection (DI) without knowing it and did it at the most basic level. We created factories: which is a form of simple DI. The problem this created is that each individual block was responsible for it's own configuration and configuration was buried at the bottom of the stack. We need to change around the model a bit to make the responsibility of configuration built into the DI Container and remove all that extra code from each block. &lt;/P&gt;
&lt;P&gt;Here is a picture of the old way: [BTW Enterprise Library Factory is buried at the bottom in the Core assembly that no one sees.] &lt;/P&gt;
&lt;P&gt;&lt;IMG height=401 alt="Old Way" hspace=4 src="http://blogs.msdn.com/blogfiles/scottdensmore/Old%20Way.jpg" width=377 vspace=4 border=1 mce_src="http://blogs.msdn.com/blogfiles/scottdensmore/Old%20Way.jpg"&gt; &lt;/P&gt;
&lt;P&gt;Here is the new way: &lt;/P&gt;
&lt;P&gt;&lt;IMG height=207 alt="New Way" hspace=4 src="http://blogs.msdn.com/blogfiles/scottdensmore/New%20Way.jpg" width=305 vspace=4 border=1 mce_src="http://blogs.msdn.com/blogfiles/scottdensmore/New%20Way.jpg"&gt; &lt;/P&gt;
&lt;P&gt;This looks better. Configuration is about the container. WAHOOOOOO! This means that building a block, using a block adding your extensions and having the configuration all comes through the container. This will make it easier for you to use Enterprise Library with Unity or your current DI container and allow us to deliver more cool things to you, the customer. Look for more on this later. &lt;/P&gt;
&lt;P&gt;That all sounds good, yet there is one lagging thing that needed to be addressed: the devil. Backwards compatibility is the work of the devil, and just like the devil, necessary. This is fueled by the fact that Enterprise Library has reached over a million downloads and not having a story would cause a lot of people to swing large baseball bats at us. &lt;STRONG&gt;&lt;U&gt;So the old way will still work working with factories so you can upgrade and migrate slowly. &lt;/U&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Unity is a lightweight container built on top of the work of Object Builder 2, with heavy tweeks by &lt;A href="http://www.tavaresstudios.com/Blog/default.aspx" mce_href="http://www.tavaresstudios.com/Blog/default.aspx"&gt;Chris Tavaras&lt;/A&gt;. You can read more from &lt;A href="http://blogs.msdn.com/agile/" mce_href="http://blogs.msdn.com/agile/"&gt;Grigori&lt;/A&gt; and Chris on Unity. &lt;/P&gt;
&lt;P&gt;The funny story about Unity is the name. Grigori and I were trying to come up with a name for this DI block and mentioned it to Peter Provost when we settled on Unity (which is better than the Doohicky Application Block that was up on the board). Peter never thought we would get it pass legal... neener neener is what we said when we got it. He said "Enterprise Library 4: Now with more Peace love and Rock n' Roll". &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Doesn't Remind Me&lt;/STRONG&gt; from the album "Out Of Exile" by &lt;A href="http://www.google.com/search?q=%22Audioslave%22" mce_href="http://www.google.com/search?q=%22Audioslave%22"&gt;Audioslave&lt;/A&gt; &lt;/P&gt;&lt;!-- technorati tags start --&gt;
&lt;P style="FONT-SIZE: 10px; TEXT-ALIGN: right"&gt;Technorati Tags: &lt;A href="http://www.technorati.com/tag/Enterprise%20Library" rel=tag&gt;Enterprise Library&lt;/A&gt;, &lt;A href="http://www.technorati.com/tag/patterns%20&amp;amp;%20practices" rel=tag&gt;patterns &amp;amp; practices&lt;/A&gt;, &lt;A href="http://www.technorati.com/tag/Unity" rel=tag mce_href="http://www.technorati.com/tag/Unity"&gt;Unity&lt;/A&gt;&lt;/P&gt;&lt;!-- technorati tags end --&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7353052" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/scottdensmore/archive/tags/Enterprise+Library/default.aspx">Enterprise Library</category><category domain="http://blogs.msdn.com/scottdensmore/archive/tags/patterns+_2600_amp_3B00_+practices/default.aspx">patterns &amp;amp; practices</category><category domain="http://blogs.msdn.com/scottdensmore/archive/tags/Unity/default.aspx">Unity</category></item><item><title>CAB  October 2005 CTP Available</title><link>http://blogs.msdn.com/scottdensmore/archive/2005/10/10/479138.aspx</link><pubDate>Mon, 10 Oct 2005 17:34:21 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:479138</guid><dc:creator>scottdensmore</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/scottdensmore/comments/479138.aspx</comments><wfw:commentRss>http://blogs.msdn.com/scottdensmore/commentrss.aspx?PostID=479138</wfw:commentRss><description>&lt;p&gt;The team has been driving hard to get this to you.&amp;nbsp; I would definetly download it and start playing with it.&amp;nbsp;&amp;nbsp;We (Enterprise Library) are going to be using the cool&amp;nbsp;DI code&amp;nbsp;in our project (yes everything you learned for the August CTP is useless now &lt;img src="http://home.comcast.net/~scottdensmore/blog/pics/smile1.gif" /&gt;).&amp;nbsp;&amp;nbsp;Take a look at the Object Builder code from &lt;a href="http://www.agileprogrammer.com/dotnetguy"&gt;Brad&lt;/a&gt; and &lt;a href="http://www.peterprovost.org/"&gt;Peter&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Read both Brad&amp;rsquo;s and Peter&amp;rsquo;s blog for great info.&lt;/p&gt;
&lt;p&gt;Get the life changer at &lt;a href="http://codegallery.gotdotnet.com/cab"&gt;http://codegallery.gotdotnet.com/cab&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=479138" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/scottdensmore/archive/tags/Enterprise+Library/default.aspx">Enterprise Library</category><category domain="http://blogs.msdn.com/scottdensmore/archive/tags/patterns+_2600_amp_3B00_+practices/default.aspx">patterns &amp;amp; practices</category></item><item><title>VB6 Upgrade Guide </title><link>http://blogs.msdn.com/scottdensmore/archive/2005/08/13/451401.aspx</link><pubDate>Sun, 14 Aug 2005 06:05:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:451401</guid><dc:creator>scottdensmore</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/scottdensmore/comments/451401.aspx</comments><wfw:commentRss>http://blogs.msdn.com/scottdensmore/commentrss.aspx?PostID=451401</wfw:commentRss><description>&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Another one from &lt;a href="http://msdn.microsoft.com/practices"&gt;patterns &amp;amp; practices&lt;/a&gt;!&amp;nbsp; &lt;a href="http://blogs.msdn.com/eugeniop/"&gt;Eugenio Pace&lt;/a&gt;&amp;nbsp;can tell you all about the &lt;a href="http://blogs.msdn.com/eugeniop/archive/2005/08/11/450718.aspx"&gt;VB6 to VB.NET upgrade guide&lt;/a&gt;. If you need a painless way to get yourself to .NET, this is for you!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Now playing:&lt;/strong&gt; &lt;a href="http://phobos.apple.com/WebObjects/MZSearch.woa/wa/advancedSearchResults?artistTerm=Rusted Root"&gt;Rusted Root&lt;/a&gt; - &lt;a href="http://phobos.apple.com/WebObjects/MZSearch.woa/wa/advancedSearchResults?songTerm=Drum Trip&amp;amp;artistTerm=Rusted Root"&gt;Drum Trip&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=451401" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/scottdensmore/archive/tags/Technology/default.aspx">Technology</category><category domain="http://blogs.msdn.com/scottdensmore/archive/tags/patterns+_2600_amp_3B00_+practices/default.aspx">patterns &amp;amp; practices</category></item><item><title>CAB CTP Released!</title><link>http://blogs.msdn.com/scottdensmore/archive/2005/07/05/435688.aspx</link><pubDate>Tue, 05 Jul 2005 18:46:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:435688</guid><dc:creator>scottdensmore</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/scottdensmore/comments/435688.aspx</comments><wfw:commentRss>http://blogs.msdn.com/scottdensmore/commentrss.aspx?PostID=435688</wfw:commentRss><description>&lt;p&gt;These guys have been working hard.&amp;nbsp; This is some great stuff so go and get it &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag2/html/cabctp.asp"&gt;here&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Now playing:&lt;/strong&gt; &lt;a href="http://phobos.apple.com/WebObjects/MZSearch.woa/wa/advancedSearchResults?artistTerm=Godsmack"&gt;Godsmack&lt;/a&gt; - &lt;a href="http://phobos.apple.com/WebObjects/MZSearch.woa/wa/advancedSearchResults?songTerm=Keep Away&amp;amp;artistTerm=Godsmack"&gt;Keep Away&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=435688" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/scottdensmore/archive/tags/patterns+_2600_amp_3B00_+practices/default.aspx">patterns &amp;amp; practices</category></item></channel></rss>