<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" 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:media="http://search.yahoo.com/mrss/" xmlns:evnet="http://www.mscommunities.com/rssmodule/"><channel><title>Comment Feed for ARCast.TV - Juval Lowy on Interface Based Design (ARCast.TV on Channel 9)</title><atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/shows/arcast.tv/arcasttv-juval-lowy-on-interface-based-design/rss/default.aspx" /><image><url>http://mschnlnine.vo.llnwd.net/d1/Dev/App_Themes/C9/images/feedimage.png</url><title>Comment Feed for ARCast.TV - Juval Lowy on Interface Based Design (ARCast.TV on Channel 9)</title><link>http://channel9.msdn.com/shows/ARCast.TV/ARCasttv-Juval-Lowy-on-Interface-Based-Design/</link></image><description>ARCast.TV - Juval Lowy on Interface Based Design</description><link>http://channel9.msdn.com/shows/ARCast.TV/ARCasttv-Juval-Lowy-on-Interface-Based-Design/</link><language>en-us</language><pubDate>Fri, 12 Sep 2008 06:32:00 GMT</pubDate><lastBuildDate>Fri, 12 Sep 2008 06:32:00 GMT</lastBuildDate><generator>EvNet (EvNet, Version=1.0.3243.35083, Culture=neutral, PublicKeyToken=null)</generator><item><title>Re: Re: ARCast.tv - Juval Lowy on Interface Based Design</title><description>&lt;div&gt;I agree to Dinkhome.&lt;br /&gt;&lt;br /&gt;Inheritance and Interface Design are two complete different strategies and they should be used with two complete different&amp;nbsp;intentions.&lt;br /&gt;When you inherit from a class you always got a hard coupling between to types.&lt;br /&gt;&lt;br /&gt;Interfaces are just meant to give oyu a possibility to detach types. This reduces the complexity of your software and also increases the Testability of the whole application.&lt;br /&gt;&lt;br /&gt;Using Interfaces as an replacement of MultiInheritance is a fault and should be avoided.&lt;br /&gt;&lt;br /&gt;The Use of Interface is not just about reusing components. Its about creating&amp;nbsp;autarchic Modules / Components which can work and be tested , be developed stand a alone without knowing any thing more than the contract they have.&lt;br /&gt;&lt;br /&gt;So you can give a whole new person the task to develop a component for your 10 year old Software without to work him into the complete application.&lt;br /&gt;Just give him the Contract and let him work :)&lt;/div&gt;</description><comments></comments><link>http://channel9.msdn.com/shows/ARCast.TV/ARCasttv-Juval-Lowy-on-Interface-Based-Design/?CommentID=427255</link><pubDate>Fri, 12 Sep 2008 06:32:00 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/shows/ARCast.TV/ARCasttv-Juval-Lowy-on-Interface-Based-Design/?CommentID=427255</guid><evnet:views>0</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/427255/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>I agree to Dinkhome.Inheritance and Interface Design are two complete different strategies and they should be used with two complete different&amp;nbsp;intentions.When you inherit from a class you always got a hard coupling between to types.Interfaces are just meant to give oyu a possibility to detach&amp;#8230;</evnet:previewtext><dc:creator>Gentlehag</dc:creator><slash:comments>0</slash:comments><wfw:commentRss></wfw:commentRss><trackback:ping>http://channel9.msdn.com/427255/Trackback.aspx</trackback:ping></item><item><title>Re: Re: ARCast.tv - Juval Lowy on Interface Based Design</title><description>&lt;p&gt;People criticize C++ for multiple inheritence, which doesn't mean it is bad.&amp;nbsp; However, in many cases it is either poorly understood or otherwise misued.&amp;nbsp; MI almost always&amp;nbsp;obfuscates the&amp;nbsp;design and introduces maintenance issues.&amp;nbsp; This is one of the reasons why it is usually better to aggregate functionality through composition than to inherit it.&amp;nbsp; However, this is beside the point.&lt;br /&gt;&lt;br /&gt;Interface design is not direclty related to inheritence.&amp;nbsp; Interface design is about contract definition and abstraction from the client objects (decoupling).&amp;nbsp;&amp;nbsp; This leads to easier replacement and reuse.&lt;br /&gt;&lt;br /&gt;Inheritence is about reuse within the&amp;nbsp;server objects.&amp;nbsp; Both can lead to polymorphism, but interfaces do not have the rest of the inheritance baggage to carry along (which multiple inheritence was implemented to avoid).&amp;nbsp; But since MI leads to complexity, it didn't work out too well.&lt;br /&gt;&lt;br /&gt;I think Interface based design is just now being recognized as a very strong reuse mechanism, and this presentation helps to make that point.&lt;/p&gt;</description><comments></comments><link>http://channel9.msdn.com/shows/ARCast.TV/ARCasttv-Juval-Lowy-on-Interface-Based-Design/?CommentID=418761</link><pubDate>Thu, 31 Jul 2008 17:23:22 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/shows/ARCast.TV/ARCasttv-Juval-Lowy-on-Interface-Based-Design/?CommentID=418761</guid><evnet:views>0</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/418761/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>People criticize C++ for multiple inheritence, which doesn't mean it is bad.&amp;nbsp; However, in many cases it is either poorly understood or otherwise misued.&amp;nbsp; MI almost always&amp;nbsp;obfuscates the&amp;nbsp;design and introduces maintenance issues.&amp;nbsp; This is one of the reasons why it is usually&amp;#8230;</evnet:previewtext><dc:creator>Dinkhome</dc:creator><slash:comments>0</slash:comments><wfw:commentRss></wfw:commentRss><trackback:ping>http://channel9.msdn.com/418761/Trackback.aspx</trackback:ping></item><item><title>Re: ARCast.tv - Juval Lowy on Interface Based Design</title><description>&lt;p&gt;Very subject to critcism and not commonly used or recomended, C++ had the rich feature of supporting multiple inheritence so there is no need to go a step back or a step aside and yet introduce interfaces [and probably rename the language C+-]. &lt;/p&gt;
&lt;p&gt;Any one who has ever succeeded in developing a concrete application using multiple inheritence can name a lot of drawbacks in using interfaces to acheive same functionality. Like in the case of c#, the need to define interface members (i.e. overriding functions) in every class that implements the interface.&amp;nbsp; For 100 such classes implementing an interface, 100 seperate implementations for each method, required. At least multiple inheritence can reduce the number of override(d/n) functions to ensure some code reuse. If somehow interfaces are not limited to abstract definitions,......&lt;br /&gt;&lt;/p&gt;</description><comments></comments><link>http://channel9.msdn.com/shows/ARCast.TV/ARCasttv-Juval-Lowy-on-Interface-Based-Design/?CommentID=413021</link><pubDate>Tue, 01 Jul 2008 11:40:44 GMT</pubDate><guid isPermaLink="false">http://channel9.msdn.com/shows/ARCast.TV/ARCasttv-Juval-Lowy-on-Interface-Based-Design/?CommentID=413021</guid><evnet:views>0</evnet:views><evnet:viewtrackingurl>http://channel9.msdn.com/413021/WebViewBug.aspx?EVT=0</evnet:viewtrackingurl><evnet:previewtext>Very subject to critcism and not commonly used or recomended, C++ had the rich feature of supporting multiple inheritence so there is no need to go a step back or a step aside and yet introduce interfaces [and probably rename the language C+-]. 
Any one who has ever succeeded in developing a&amp;#8230;</evnet:previewtext><dc:creator>umer_a</dc:creator><slash:comments>0</slash:comments><wfw:commentRss></wfw:commentRss><trackback:ping>http://channel9.msdn.com/413021/Trackback.aspx</trackback:ping></item></channel></rss>