﻿<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Ayende @ Rahien</title><link>http://ayende.com</link><description>Ayende @ Rahien</description><copyright>Copyright (C) Ayende Rahien  2004 - 2021 (c) 2026</copyright><ttl>60</ttl><item><title>Francois Tanguay commented on Ayende's Design Guidelines: Rule #1</title><description>That's why I wished there was a way to promote a type object into a generic scope:
  
  
foreach(Type type in GetComponentTypes()) 
  
{
  
    // New using scope keyword!
  
    using&lt;TInterface with type.GetInterfaces()[0], T with type&gt;()
  
    { 
  
      myContainer.RegisterComponent&lt;TInterface, T&gt;(); 
  
    }
  
}
</description><link>http://ayende.com/3160/ayendes-design-guidelines-rule-1#comment6</link><guid>http://ayende.com/3160/ayendes-design-guidelines-rule-1#comment6</guid><pubDate>Tue, 26 Feb 2008 17:51:12 GMT</pubDate></item><item><title>Andrey Shchekin commented on Ayende's Design Guidelines: Rule #1</title><description>Exactly. http://api.castleproject.org/html/M_Castle_MicroKernel_DefaultKernel_ResolveServices__1.htm immediatelly comes to mind.
</description><link>http://ayende.com/3160/ayendes-design-guidelines-rule-1#comment4</link><guid>http://ayende.com/3160/ayendes-design-guidelines-rule-1#comment4</guid><pubDate>Sat, 23 Feb 2008 23:43:43 GMT</pubDate></item><item><title>Andrey Shchekin commented on Ayende's Design Guidelines: Rule #1</title><description>Exactly. http://api.castleproject.org/html/M_Castle_MicroKernel_DefaultKernel_ResolveServices__1.htm immediatelly comes to mind.
</description><link>http://ayende.com/3160/ayendes-design-guidelines-rule-1#comment5</link><guid>http://ayende.com/3160/ayendes-design-guidelines-rule-1#comment5</guid><pubDate>Sat, 23 Feb 2008 23:43:43 GMT</pubDate></item><item><title>Ayende Rahien commented on Ayende's Design Guidelines: Rule #1</title><description>Yes, this is for published API.
  
If you control the code, it doesn't really matter, since you can always change that.
  
Nevertheless, you need to carefully consider what you believe a published API is
</description><link>http://ayende.com/3160/ayendes-design-guidelines-rule-1#comment3</link><guid>http://ayende.com/3160/ayendes-design-guidelines-rule-1#comment3</guid><pubDate>Sat, 23 Feb 2008 15:02:48 GMT</pubDate></item><item><title>Christopher Bennage commented on Ayende's Design Guidelines: Rule #1</title><description>I guess the context here is when you are publishing an API? 
  
In a project where I control and consume the code base, it's YAGNI.
</description><link>http://ayende.com/3160/ayendes-design-guidelines-rule-1#comment2</link><guid>http://ayende.com/3160/ayendes-design-guidelines-rule-1#comment2</guid><pubDate>Sat, 23 Feb 2008 14:25:51 GMT</pubDate></item><item><title>Symon Rottem commented on Ayende's Design Guidelines: Rule #1</title><description>I completely agree - this is something I've run into a few times and providing an API without non-generic alternatives just generates friction for the consumer.
</description><link>http://ayende.com/3160/ayendes-design-guidelines-rule-1#comment1</link><guid>http://ayende.com/3160/ayendes-design-guidelines-rule-1#comment1</guid><pubDate>Sat, 23 Feb 2008 10:15:14 GMT</pubDate></item></channel></rss>