<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/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>Community Blogs : Patterns</title><link>http://weblogs.asp.net/communityblogs/archive/tags/Patterns/default.aspx</link><description>Tags: Patterns</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>[Link List]Microsoft Application Architecture Guide, 2nd Edition is now complete (Ebook, Print)</title><link>http://weblogs.asp.net/meligy/archive/2009/11/06/link-list-microsoft-application-architecture-guide-2nd-edition-is-now-complete-ebook-print.aspx</link><pubDate>Thu, 05 Nov 2009 21:03:55 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7248025</guid><dc:creator>ASP.NET Weblogs</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/communityblogs/rsscomments.aspx?PostID=7248025</wfw:commentRss><comments>http://weblogs.asp.net/meligy/archive/2009/11/06/link-list-microsoft-application-architecture-guide-2nd-edition-is-now-complete-ebook-print.aspx#comments</comments><description>Microsoft has released a final version of its book “ Microsoft Application Architecture Guide, 2nd Edition ”. The book is described as: This guide is available online here in the MSDN Library and will be available in the Fall of 2009 as a Microsoft Press book, ISBN# 9780735627109, that you can purchase through local and online booksellers. The guide is intended to help developers and solution architects design and build effective, high quality applications using the Microsoft platform and the .NET Framework more quickly and with less risk; it provides guidance for using architecture principles, design principles, and patterns that are tried and trusted. The guidance is presented in sections that correspond to major architecture and design focus...(&lt;a href="http://weblogs.asp.net/meligy/archive/2009/11/06/link-list-microsoft-application-architecture-guide-2nd-edition-is-now-complete-ebook-print.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7248025" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/communityblogs/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Patterns/default.aspx">Patterns</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/.NET+FAQ/default.aspx">.NET FAQ</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/FAQ/default.aspx">FAQ</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/News/default.aspx">News</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Best+Practices/default.aspx">Best Practices</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Codeplex/default.aspx">Codeplex</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/OOP/default.aspx">OOP</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Book/default.aspx">Book</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/domain+driven+design/default.aspx">domain driven design</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Microsoft+News/default.aspx">Microsoft News</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Link+List/default.aspx">Link List</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/misc/default.aspx">misc</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/p_2600_amp_3B00_p/default.aspx">p&amp;amp;p</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/ebook/default.aspx">ebook</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Ebooks/default.aspx">Ebooks</category></item><item><title>Re: Should the team be allowed to drop the retrospective?</title><link>http://weblogs.asp.net/meligy/archive/2009/10/09/re-should-the-team-be-allowed-to-drop-the-retrospective.aspx</link><pubDate>Fri, 09 Oct 2009 08:33:42 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7226010</guid><dc:creator>ASP.NET Weblogs</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/communityblogs/rsscomments.aspx?PostID=7226010</wfw:commentRss><comments>http://weblogs.asp.net/meligy/archive/2009/10/09/re-should-the-team-be-allowed-to-drop-the-retrospective.aspx#comments</comments><description>Few minutes ago, I saw @mShady , my dear friend (Real life friend, not just on twitter ) tweeting: RT @ASGEgypt : RT @scrum_coach : Should the team be allowed to drop the retrospective? http://bit.ly/bkOgv &amp;#160; #scrum #agile #lean #xp #kanban I checked the post and found the options are: Yes, It’s their process why not? No, explain to them and work through why the retrospective is so important. Maybe, if they are no longer a team then why continue with Scrum? Only do retrospectives once a quarter and build up a good list of things to change. Yes, the process will take care of itself we don’t need to watch it that closely. After all it’s common sense! Interesting question! Not the most important topic in Scrum but like the way Agile works in...(&lt;a href="http://weblogs.asp.net/meligy/archive/2009/10/09/re-should-the-team-be-allowed-to-drop-the-retrospective.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7226010" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/communityblogs/archive/tags/agile/default.aspx">agile</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Patterns/default.aspx">Patterns</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Scrum/default.aspx">Scrum</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Sprint/default.aspx">Sprint</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/twitter/default.aspx">twitter</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/misc/default.aspx">misc</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Meligy/default.aspx">Meligy</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/ASGEgypt/default.aspx">ASGEgypt</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/retrospective/default.aspx">retrospective</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/scrum_5F00_coach/default.aspx">scrum_coach</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Scrum+master/default.aspx">Scrum master</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/teamwork/default.aspx">teamwork</category></item><item><title>Videos from NDC 2009: SOLID Principles, Legacy Code, WCF, Software Design,…</title><link>http://weblogs.asp.net/meligy/archive/2009/08/26/videos-from-ndc-2009-solid-principles-legacy-code-wcf-software-design.aspx</link><pubDate>Wed, 26 Aug 2009 12:55:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7181974</guid><dc:creator>ASP.NET Weblogs</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/communityblogs/rsscomments.aspx?PostID=7181974</wfw:commentRss><comments>http://weblogs.asp.net/meligy/archive/2009/08/26/videos-from-ndc-2009-solid-principles-legacy-code-wcf-software-design.aspx#comments</comments><description>Here’s another email from the internal mailing list of Injazat .NET Ninjas (Ninjazat, AKA&amp;#160; as we call ourselves), that I’m sharing with blog readers as well. Just a place holder, until I move one of my 18 (just discovered the number now – terrifying!) drafts in my Windows Live Writer into a published post, or delete them all! Subject: [Learning] Some very interesting videos Some videos from NDC 2009 event (Norwegian Developers Conference 2009) - about software design and related issues: · NDC Video – Robert Martin – S.O.L.I.D Principles of OO class design · NDC Video – Robert Martin – Craftsmanship and Ethics · NDC Video – Robert Martin – Component Principles · NDC Video – Robert Martin – Clean Code III – Functions · NDC Video – Michael...(&lt;a href="http://weblogs.asp.net/meligy/archive/2009/08/26/videos-from-ndc-2009-solid-principles-legacy-code-wcf-software-design.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7181974" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/communityblogs/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/WCF/default.aspx">WCF</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Patterns/default.aspx">Patterns</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Code/default.aspx">Code</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Design+Patterns/default.aspx">Design Patterns</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/OOP/default.aspx">OOP</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/ALT.NET/default.aspx">ALT.NET</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/OO/default.aspx">OO</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Software+Design/default.aspx">Software Design</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Link+List/default.aspx">Link List</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/misc/default.aspx">misc</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/solid/default.aspx">solid</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/ndc/default.aspx">ndc</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Convention+over+configuration/default.aspx">Convention over configuration</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/NDC09/default.aspx">NDC09</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Clean+Code/default.aspx">Clean Code</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Working+effectively+with+legacy+code/default.aspx">Working effectively with legacy code</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Code+Reading/default.aspx">Code Reading</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/NDC+2009/default.aspx">NDC 2009</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/OOAD/default.aspx">OOAD</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/NDC2009/default.aspx">NDC2009</category></item><item><title>RESTify – Extending ASP.NET MVC</title><link>http://weblogs.asp.net/rashid/archive/2009/08/25/restify-extending-asp-net-mvc.aspx</link><pubDate>Mon, 24 Aug 2009 23:41:49 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7180622</guid><dc:creator>ASP.NET Weblogs</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/communityblogs/rsscomments.aspx?PostID=7180622</wfw:commentRss><comments>http://weblogs.asp.net/rashid/archive/2009/08/25/restify-extending-asp-net-mvc.aspx#comments</comments><description>Recently there has been a talk of Actionless Controller in ASP.NET MVC space. Basically we are doing a lot of things in the controller and that is the reason we often finds our controllers with number of dependencies in the constructor. Jeffrey Palermo initially suggested a version where he separated each action as a standalone controller which is good to reduce the number of dependency but it does not sound right to me. At the bottom of that post Neal Blomfield hinted about the Command Pattern which makes absolute sense. Since the release of our initial version , I have got some time to breathe, so I decided to give it a try. Initially the idea was, each Controller action method will accept a command object as parameter and the Controller will...(&lt;a href="http://weblogs.asp.net/rashid/archive/2009/08/25/restify-extending-asp-net-mvc.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7180622" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/communityblogs/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Patterns/default.aspx">Patterns</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/open+source/default.aspx">open source</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/MVC/default.aspx">MVC</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/ASP.NET+MVC/default.aspx">ASP.NET MVC</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/aspnetmvc/default.aspx">aspnetmvc</category></item><item><title>See you all in dotNETwork May 09 Gathering in Egypt, Lesser known .NET Enterprise Patterns &amp; Practices</title><link>http://weblogs.asp.net/meligy/archive/2009/05/21/see-you-all-in-dotnetwork-may-09-gathering-in-egypt-lesser-known-net-enterprise-patterns-amp-practices.aspx</link><pubDate>Thu, 21 May 2009 20:15:13 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7094315</guid><dc:creator>ASP.NET Weblogs</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/communityblogs/rsscomments.aspx?PostID=7094315</wfw:commentRss><comments>http://weblogs.asp.net/meligy/archive/2009/05/21/see-you-all-in-dotnetwork-may-09-gathering-in-egypt-lesser-known-net-enterprise-patterns-amp-practices.aspx#comments</comments><description>Most of you already know I have moved recently from Cairo to Abu Dhabi. What only a selected set of you are aware of, is that I am still having my heart all set for the developer community in Egypt and still communicating with many of them via Twitter ; not only that developers in Abu Dhabi are not into spending time in gatherings or anything than doing work and surviving, but also because I have made the only long lasting and fulfilling friends relationships with the key persons that I see in the different communities, especially my old friends from Microsoft MDC and ArabTeam2000, Demo Day attendees (who still talk to me since 2007), and - of course – dotNETwork, admins, speakers, and participants (who are much more than just attendees). Fridays...(&lt;a href="http://weblogs.asp.net/meligy/archive/2009/05/21/see-you-all-in-dotnetwork-may-09-gathering-in-egypt-lesser-known-net-enterprise-patterns-amp-practices.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7094315" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/communityblogs/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Patterns/default.aspx">Patterns</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/News/default.aspx">News</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Web+Design/default.aspx">Web Design</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/VS/default.aspx">VS</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/OOP/default.aspx">OOP</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/domain+driven+design/default.aspx">domain driven design</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Patterns+and+Practices/default.aspx">Patterns and Practices</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/dotNETwork/default.aspx">dotNETwork</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Local+Events/default.aspx">Local Events</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Enterprise/default.aspx">Enterprise</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/MDC/default.aspx">MDC</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/VS+2010/default.aspx">VS 2010</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/DI+_2600_+IoC/default.aspx">DI &amp; IoC</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/VS2010/default.aspx">VS2010</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/DI+_2600_amp_3B00_+IoC/default.aspx">DI &amp;amp; IoC</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Enterprise+Patterns/default.aspx">Enterprise Patterns</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/DNK/default.aspx">DNK</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Visual+Studo/default.aspx">Visual Studo</category></item><item><title>This is your brain on multiple tiers</title><link>http://weblogs.asp.net/andreaszenker/archive/2009/05/20/this-is-your-brain-on-multiple-tiers.aspx</link><pubDate>Thu, 21 May 2009 01:21:36 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7093864</guid><dc:creator>ASP.NET Weblogs</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/communityblogs/rsscomments.aspx?PostID=7093864</wfw:commentRss><comments>http://weblogs.asp.net/andreaszenker/archive/2009/05/20/this-is-your-brain-on-multiple-tiers.aspx#comments</comments><description>Fowler&amp;#8217;s first law of distributed object design: &amp;#8220;Don&amp;#8217;t distribute your objects&amp;#8221; Just because we have created better, more efficient, more secure, or even &amp;#8220;sexy&amp;#8221; ways of distributing our applications that doesn&amp;#8217;t make it right in and of itself. WCF, a formidable follow up to Web Services, has given us the tools we need to enable cross machine, cross application, inter-enterprise communication when we need to do it . The fact of the matter is that we don&amp;#8217;t need to do it as often as we think we do. It is amazing how many application design efforts just assume a WCF service layer out of the box for no other reason than a desire to be &amp;quot;Service Oriented&amp;quot;. Admittedly, there are viable reasons...(&lt;a href="http://weblogs.asp.net/andreaszenker/archive/2009/05/20/this-is-your-brain-on-multiple-tiers.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7093864" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/communityblogs/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Patterns/default.aspx">Patterns</category></item><item><title>The dojo is open...  www.ITSamuraiSchool.com</title><link>http://devlicio.us/blogs/billy_mccafferty/archive/2009/05/18/the-dojo-is-open-www-itsamuraischool-com.aspx</link><pubDate>Mon, 18 May 2009 22:52:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7092407</guid><dc:creator>Devlicio.us</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/communityblogs/rsscomments.aspx?PostID=7092407</wfw:commentRss><comments>http://devlicio.us/blogs/billy_mccafferty/archive/2009/05/18/the-dojo-is-open-www-itsamuraischool-com.aspx#comments</comments><description>Codai&amp;#39;s IT Samurai School is open for enrollment. It&amp;#39;s Flash, so it&amp;#39;ll take a few moments to download...but I hope you&amp;#39;ll agree it&amp;#39;s worth the wait... http://www.itsamuraischool.com A few fun facts about the website and the school itself: Born our of a short conversation at a BBQ concerning my desire to do high quality training 100% Flash front-end, outside of the checkout screens Built on latest S#arp Architecture available from the trunk 6 months in the making, including the site and class preparation 21 classes initially, including ASP.NET MVC, Object-Oriented JavaScript, SQL Server Integration Services, S#arp Architecture and many others 4 cities initially, including Denver, Austin, San Jose, Washington DC A handful of...(&lt;a href="http://devlicio.us/blogs/billy_mccafferty/archive/2009/05/18/the-dojo-is-open-www-itsamuraischool-com.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7092407" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/communityblogs/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Patterns/default.aspx">Patterns</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/DDD/default.aspx">DDD</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Project+Management/default.aspx">Project Management</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Tips+_2600_amp_3B00_+Tricks/default.aspx">Tips &amp;amp; Tricks</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Agile+Development/default.aspx">Agile Development</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Quality+Assurance/default.aspx">Quality Assurance</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Test-Driven+Development/default.aspx">Test-Driven Development</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/MVC.NET/default.aspx">MVC.NET</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/S_2300_arp+Architecture/default.aspx">S#arp Architecture</category></item><item><title>Apache Hash Code and Equals Builders</title><link>http://weblogs.asp.net/arturtrosin/archive/2009/05/08/apache-hash-code-and-equals-builders.aspx</link><pubDate>Fri, 08 May 2009 11:58:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7078387</guid><dc:creator>ASP.NET Weblogs</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/communityblogs/rsscomments.aspx?PostID=7078387</wfw:commentRss><comments>http://weblogs.asp.net/arturtrosin/archive/2009/05/08/apache-hash-code-and-equals-builders.aspx#comments</comments><description>In the post I want to present two useful utility classes that for a long time are used in Java world and developed within Apache Software Foundation. These are HashCodeBuilder and EqualsBuilder classes which were ported by me in C#. To implement a good method of Hash Code and Equals for any class is not an easy task, but the classes assists implementing object.GetHashCode and object. Equals . For equality comparation of objects should be used all relevant fields of the object, derived fields could be excluded. In order to build a Hash Code for an object is recommended to use same fields that were used for equality. I like to learn by examples, so let’s to start one. public class RgbColor { private readonly ushort r; private readonly ushort g;...(&lt;a href="http://weblogs.asp.net/arturtrosin/archive/2009/05/08/apache-hash-code-and-equals-builders.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7078387" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/communityblogs/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/General+Software+Development/default.aspx">General Software Development</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Patterns/default.aspx">Patterns</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/open+source/default.aspx">open source</category></item><item><title>Builder Pattern and Fluent Interface</title><link>http://weblogs.asp.net/arturtrosin/archive/2009/04/13/builder-pattern-through-fluent-interface.aspx</link><pubDate>Mon, 13 Apr 2009 11:53:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7045097</guid><dc:creator>ASP.NET Weblogs</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/communityblogs/rsscomments.aspx?PostID=7045097</wfw:commentRss><comments>http://weblogs.asp.net/arturtrosin/archive/2009/04/13/builder-pattern-through-fluent-interface.aspx#comments</comments><description>In the post I want to discuss the practical part of the Builder pattern and how builder pattern usage and implementation can be simplified by Fluent Interface, it will show how these two patterns can leave in harmony with each other. For how many of us happened that requires enum types to be more complex types, to have a description for each enum or other additional fields. In the description field case we can attach attributes description above each enum value and using reflection to obtain them, in some cases it is a handy solution but in other it’s not. Of course each solution has its limitation, and in many cases enum types are not very helpful. As another solution, we can create a class with static readonly fields, this could be a typical...(&lt;a href="http://weblogs.asp.net/arturtrosin/archive/2009/04/13/builder-pattern-through-fluent-interface.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7045097" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/communityblogs/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/General+Software+Development/default.aspx">General Software Development</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Patterns/default.aspx">Patterns</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Code+Readability/default.aspx">Code Readability</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Design+Principles/default.aspx">Design Principles</category></item><item><title>ASP.NET MVC Best Practices (Part 2)</title><link>http://weblogs.asp.net/rashid/archive/2009/04/03/asp-net-mvc-best-practices-part-2.aspx</link><pubDate>Fri, 03 Apr 2009 06:39:04 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7023883</guid><dc:creator>ASP.NET Weblogs</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/communityblogs/rsscomments.aspx?PostID=7023883</wfw:commentRss><comments>http://weblogs.asp.net/rashid/archive/2009/04/03/asp-net-mvc-best-practices-part-2.aspx#comments</comments><description>This is the second part of the series and may be the last, till I find some thing new. My plan was to start with routing, controller, controller to model, controller to view and last of all the view, but some how I missed one important thing in routing, so I will begin with that in this post. 15. Routing consideration If you are developing a pure ASP.NET MVC application, turn off existing file check of routes, it will eliminate unnecessary file system check. Once you do it there are few more things you have to consider. Remember when you are hosting application in IIS7 integrated mode, your ASP.NET application will intercept all kind of request, no matter what the file extension is. So you have to add few more things in the ignore list which...(&lt;a href="http://weblogs.asp.net/rashid/archive/2009/04/03/asp-net-mvc-best-practices-part-2.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7023883" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/communityblogs/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Patterns/default.aspx">Patterns</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/ASP.NET+MVC/default.aspx">ASP.NET MVC</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/aspnetmvc/default.aspx">aspnetmvc</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Best+Practise/default.aspx">Best Practise</category></item><item><title>ASP.NET MVC Best Practices (Part 1)</title><link>http://weblogs.asp.net/rashid/archive/2009/04/01/asp-net-mvc-best-practices-part-1.aspx</link><pubDate>Wed, 01 Apr 2009 15:44:43 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7020544</guid><dc:creator>ASP.NET Weblogs</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/communityblogs/rsscomments.aspx?PostID=7020544</wfw:commentRss><comments>http://weblogs.asp.net/rashid/archive/2009/04/01/asp-net-mvc-best-practices-part-1.aspx#comments</comments><description>In this post, I will share some of the best practices/guideline in developing ASP.NET MVC applications which I have learned in the hard way. I will not tell you to use DI or Unit Test instead I will assume you are already doing it and you prefer craftsmanship over anything. 1. Create Extension methods of UrlHelper to generate your url from Route Avoid passing the controller, action or route name as string, create extension methods of UrlHelper which encapsulates it, for example: public static class UrlHelperExtension { public static string Home(this UrlHelper helper) { return helper.Content(&amp;quot;~/&amp;quot;); } public static string SignUp(this UrlHelper helper) { return helper.RouteUrl(&amp;quot;Signup&amp;quot;); } public static string Dahsboard(this...(&lt;a href="http://weblogs.asp.net/rashid/archive/2009/04/01/asp-net-mvc-best-practices-part-1.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7020544" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/communityblogs/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Patterns/default.aspx">Patterns</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/MVC/default.aspx">MVC</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/ASP.NET+MVC/default.aspx">ASP.NET MVC</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/aspnetmvc/default.aspx">aspnetmvc</category></item><item><title>Use Event Aggregator to make your application more extensible</title><link>http://weblogs.asp.net/rashid/archive/2009/03/05/use-event-aggregator-to-make-your-application-more-extensible.aspx</link><pubDate>Thu, 05 Mar 2009 14:35:28 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6938434</guid><dc:creator>ASP.NET Weblogs</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/communityblogs/rsscomments.aspx?PostID=6938434</wfw:commentRss><comments>http://weblogs.asp.net/rashid/archive/2009/03/05/use-event-aggregator-to-make-your-application-more-extensible.aspx#comments</comments><description>Recently, in KiGG / DotNetShoutout we have integrated Twitter , nothing complex, very basic thing like when a story is submitted or appears in the front page it will broadcast in Twitter and like our feed it will post the short url of the original story (Cant resist to do some shameless marketing for DotNetShoutout ). Since it is a new requirement, initially I have modified the StoryService constructor to include the twitter client as a new argument and use it after the story is added in the database, the code is something like the following: //Other codes //Add it in database _storyRepository.Add(story); //Increase User Score _userScoreService.StorySubmitted(byUser); // Send Trackback PingStory(content, story, detailUrl); //Ping the Feed Servers...(&lt;a href="http://weblogs.asp.net/rashid/archive/2009/03/05/use-event-aggregator-to-make-your-application-more-extensible.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6938434" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/communityblogs/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Patterns/default.aspx">Patterns</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Design+Patterns/default.aspx">Design Patterns</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Unity/default.aspx">Unity</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Common+Service+Locator/default.aspx">Common Service Locator</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/DotNetShoutout/default.aspx">DotNetShoutout</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/IoC_2F00_DI/default.aspx">IoC/DI</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/ocp/default.aspx">ocp</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Open+Closed+Principle/default.aspx">Open Closed Principle</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/EventAggregator/default.aspx">EventAggregator</category></item><item><title>dotNETwork CodeCamp ‘09: Framework Design Guidelines &amp; Managed Extensibility Framework (MEF) Slides Available</title><link>http://weblogs.asp.net/meligy/archive/2009/02/25/dotnetwork-codecamp-09-framework-design-guidelines-amp-managed-extensibility-framework-mef-slides-available.aspx</link><pubDate>Wed, 25 Feb 2009 08:29:29 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6925687</guid><dc:creator>ASP.NET Weblogs</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/communityblogs/rsscomments.aspx?PostID=6925687</wfw:commentRss><comments>http://weblogs.asp.net/meligy/archive/2009/02/25/dotnetwork-codecamp-09-framework-design-guidelines-amp-managed-extensibility-framework-mef-slides-available.aspx#comments</comments><description>First off, thank you all so much who have attended the very special gathering of dotNETwork user group, Code Camp ‘09, that took place in the British University in Cairo (BUE) during last Thursday and Friday. This has been one of the biggest events I have been talking in, and that was a great honor. Must Say: SORRY! This post was supposed to be published Saturday or Sunday max. I have been busy making a critical decision and was not sure whether to announce it in this post or not. You can find the slides for the sessions I have been giving below: Framework Design Guidelines Framework Design Guidelines View more presentations from Mohamed_Meligy . (tags: ooad design guidelines ) Download (PPTX File): Managed Extensibility Framework(MEF) Managed...(&lt;a href="http://weblogs.asp.net/meligy/archive/2009/02/25/dotnetwork-codecamp-09-framework-design-guidelines-amp-managed-extensibility-framework-mef-slides-available.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6925687" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/communityblogs/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Code+Camp/default.aspx">Code Camp</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Patterns/default.aspx">Patterns</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/News/default.aspx">News</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/CodeCamp/default.aspx">CodeCamp</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/OOP/default.aspx">OOP</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/DI/default.aspx">DI</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/dotNETwork/default.aspx">dotNETwork</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/.NETwork/default.aspx">.NETwork</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Local+Events/default.aspx">Local Events</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/EDC/default.aspx">EDC</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/VS+Add-ins/default.aspx">VS Add-ins</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/MEF/default.aspx">MEF</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/DI+_2600_+IoC/default.aspx">DI &amp; IoC</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/DI+_2600_amp_3B00_+IoC/default.aspx">DI &amp;amp; IoC</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Guidelines/default.aspx">Guidelines</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Code+Camp+_2700_09/default.aspx">Code Camp '09</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Framework+Design+Guidelines/default.aspx">Framework Design Guidelines</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/CodeCamp09/default.aspx">CodeCamp09</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/CodeCamp_2700_09/default.aspx">CodeCamp'09</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Framework+Design/default.aspx">Framework Design</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Code+Camp_2700_09/default.aspx">Code Camp'09</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Managed+Extensibility+Framework/default.aspx">Managed Extensibility Framework</category></item><item><title>Domain Driven Design: Learning </title><link>http://weblogs.asp.net/arturtrosin/archive/2009/02/09/domain-driven-design-learning.aspx</link><pubDate>Mon, 09 Feb 2009 14:41:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6895735</guid><dc:creator>ASP.NET Weblogs</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/communityblogs/rsscomments.aspx?PostID=6895735</wfw:commentRss><comments>http://weblogs.asp.net/arturtrosin/archive/2009/02/09/domain-driven-design-learning.aspx#comments</comments><description>1. Introduction In the post I would like to help folks who want to improve their design skills and way of thinking by introducing in the Domain Driven Design (DDD) and provide a set of resources which I find useful. Also I will try to sort the resources because very often we can drop to learn something new only because we don’t see any sense or very little sense in reading a topic. That can happen because some resources are good for beginners other are good for more advanced folks, some persons need more practical examples for others theory is enough to create a picture. 2. Why DDD? There are few patterns to organize Domain Logic (or business logic): 1) Table Module - A single instance that handles the business logic for all rows in a database...(&lt;a href="http://weblogs.asp.net/arturtrosin/archive/2009/02/09/domain-driven-design-learning.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6895735" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/communityblogs/archive/tags/.NET/default.aspx">.NET</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Patterns/default.aspx">Patterns</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/DDD/default.aspx">DDD</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Software+Architecture/default.aspx">Software Architecture</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Design+Principles/default.aspx">Design Principles</category></item><item><title>Switching IoC Container with LINQ Expressions</title><link>http://weblogs.asp.net/sfeldman/archive/2009/02/08/switching-ioc-container-with-linq-expressions.aspx</link><pubDate>Mon, 09 Feb 2009 04:51:21 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6895424</guid><dc:creator>ASP.NET Weblogs</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/communityblogs/rsscomments.aspx?PostID=6895424</wfw:commentRss><comments>http://weblogs.asp.net/sfeldman/archive/2009/02/08/switching-ioc-container-with-linq-expressions.aspx#comments</comments><description>Several last projects I used a simple IoC container, leveraging Activator.CreateInstance(type). The main reason - simplicity. Once there was a need to go to a higher level, I would switch to Windsor Container. Once of the projects used Unity. The only issue was that I would always have to do some customization to my container (or DependencyResolver), which is nothing but a static gateway. What I have decided, is that I do not want to invest effort in something that was working before just because the underlying implementation of container has changed. The container engine might be changed, but my code should not (OCP?). Therefore, DependencyResolver had to be coded slightly different. To make it possible, I decided to go with the LINQ Expressions...(&lt;a href="http://weblogs.asp.net/sfeldman/archive/2009/02/08/switching-ioc-container-with-linq-expressions.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6895424" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/communityblogs/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://weblogs.asp.net/communityblogs/archive/tags/Patterns/default.aspx">Patterns</category></item></channel></rss>