﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" 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/"><channel><title>博客园-在路上的牛-最新评论</title><link>http://www.cnblogs.com/liaofan/CommentsRSS.aspx</link><description>永远在路上......</description><language>zh-cn</language><pubDate>Mon, 24 Mar 2008 11:49:19 GMT</pubDate><lastBuildDate>Mon, 24 Mar 2008 11:49:19 GMT</lastBuildDate><generator>cnblogs</generator><item><title>re: C#3.0中的“多重继承”</title><link>http://www.cnblogs.com/liaofan/archive/2008/03/25/1120130.html#1121095</link><dc:creator>中华鹰</dc:creator><author>中华鹰</author><pubDate>Tue, 25 Mar 2008 04:45:00 GMT</pubDate><guid>http://www.cnblogs.com/liaofan/archive/2008/03/25/1120130.html#1121095</guid><description><![CDATA[多重继承感觉并没必要，这对于减少代码的混乱有很大帮助，我想微软也是出于这方面的考虑才不在C#中实现多重继承的吧。<br><br>所以，再用变相的方法实现多重继承，我觉得更没必要。<br><br>如果确实有必要，是不是可以通过某些设计模式来解决呢？<img src ="http://www.cnblogs.com/liaofan/aggbug/1121095.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://liaofan.cnblogs.com/" target="_blank">中华鹰</a> 2008-03-25 12:45 <a href="http://www.cnblogs.com/liaofan/archive/2008/03/25/1120130.html#1121095#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div><div align='right'><script type="text/javascript"><!--
google_ad_client = "pub-4210569241504288";
google_alternate_color = "FFFFFF";
google_ad_width = 234;
google_ad_height = 60;
google_ad_format = "234x60_as";
google_ad_type = "text_image";
google_ad_channel ="8623530809";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "0000FF";
google_color_text = "000000";
google_color_url = "008000";
//--></script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>]]></description></item><item><title>re: C#3.0中的“多重继承”</title><link>http://www.cnblogs.com/liaofan/archive/2008/03/25/1120130.html#1120775</link><dc:creator>在路上的牛</dc:creator><author>在路上的牛</author><pubDate>Tue, 25 Mar 2008 01:56:00 GMT</pubDate><guid>http://www.cnblogs.com/liaofan/archive/2008/03/25/1120130.html#1120775</guid><description><![CDATA[@Cat Chen<br>在接口上提供默认实现一般情况下并不需要，不应该滥用，但是这种方式在某些情况下是有价值的。<br>微软自己也有这样的例子，System.Linq中的IQueryable&lt;T&gt;就是一例，它自己没有声明任何方法，但是在Queryable类中为IQueryable&lt;T&gt;提供了大量的扩展方法。我自己也感觉以前的框架中某些接口是可以使用一些扩展方法的。<br>使用这样的方法，需要对接口的设计有比较全面的考虑。<br> <img src ="http://www.cnblogs.com/liaofan/aggbug/1120775.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://liaofan.cnblogs.com/" target="_blank">在路上的牛</a> 2008-03-25 09:56 <a href="http://www.cnblogs.com/liaofan/archive/2008/03/25/1120130.html#1120775#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div><div align='right'><script type="text/javascript"><!--
google_ad_client = "pub-4210569241504288";
google_alternate_color = "FFFFFF";
google_ad_width = 234;
google_ad_height = 60;
google_ad_format = "234x60_as";
google_ad_type = "text_image";
google_ad_channel ="8623530809";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "0000FF";
google_color_text = "000000";
google_color_url = "008000";
//--></script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>]]></description></item><item><title>re: C#3.0中的“多重继承”</title><link>http://www.cnblogs.com/liaofan/archive/2008/03/25/1120130.html#1120751</link><dc:creator>henry</dc:creator><author>henry</author><pubDate>Tue, 25 Mar 2008 01:50:00 GMT</pubDate><guid>http://www.cnblogs.com/liaofan/archive/2008/03/25/1120130.html#1120751</guid><description><![CDATA[我们在系统设计时经常会抽象出一些接口，并为接口提供一个抽象类作为默认的实现，然后实际使用的类可以从抽象类派生。<br><br>很大程度上是减低二次扩展的复杂性，接口是一个纯约束对外的规则，并不存在任何的实现。实现抽象类作为默认可以提供后期扩展内部需要的很多功能。<br><img src ="http://www.cnblogs.com/liaofan/aggbug/1120751.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://liaofan.cnblogs.com/" target="_blank">henry</a> 2008-03-25 09:50 <a href="http://www.cnblogs.com/liaofan/archive/2008/03/25/1120130.html#1120751#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div><div align='right'><script type="text/javascript"><!--
google_ad_client = "pub-4210569241504288";
google_alternate_color = "FFFFFF";
google_ad_width = 234;
google_ad_height = 60;
google_ad_format = "234x60_as";
google_ad_type = "text_image";
google_ad_channel ="8623530809";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "0000FF";
google_color_text = "000000";
google_color_url = "008000";
//--></script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>]]></description></item><item><title>re: C#3.0中的“多重继承”</title><link>http://www.cnblogs.com/liaofan/archive/2008/03/25/1120130.html#1120727</link><dc:creator>dali</dc:creator><author>dali</author><pubDate>Tue, 25 Mar 2008 01:39:00 GMT</pubDate><guid>http://www.cnblogs.com/liaofan/archive/2008/03/25/1120130.html#1120727</guid><description><![CDATA[楼主的思路绝对创新<img src ="http://www.cnblogs.com/liaofan/aggbug/1120727.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://liaofan.cnblogs.com/" target="_blank">dali</a> 2008-03-25 09:39 <a href="http://www.cnblogs.com/liaofan/archive/2008/03/25/1120130.html#1120727#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div><div align='right'><script type="text/javascript"><!--
google_ad_client = "pub-4210569241504288";
google_alternate_color = "FFFFFF";
google_ad_width = 234;
google_ad_height = 60;
google_ad_format = "234x60_as";
google_ad_type = "text_image";
google_ad_channel ="8623530809";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "0000FF";
google_color_text = "000000";
google_color_url = "008000";
//--></script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>]]></description></item><item><title>re: C#3.0中的“多重继承”</title><link>http://www.cnblogs.com/liaofan/archive/2008/03/25/1120130.html#1120651</link><dc:creator>xeme009</dc:creator><author>xeme009</author><pubDate>Tue, 25 Mar 2008 01:04:00 GMT</pubDate><guid>http://www.cnblogs.com/liaofan/archive/2008/03/25/1120130.html#1120651</guid><description><![CDATA[不知所云，还C# 3.0,C#1.0就可以做到，典型的标题党<img src ="http://www.cnblogs.com/liaofan/aggbug/1120651.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://liaofan.cnblogs.com/" target="_blank">xeme009</a> 2008-03-25 09:04 <a href="http://www.cnblogs.com/liaofan/archive/2008/03/25/1120130.html#1120651#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div><div align='right'><script type="text/javascript"><!--
google_ad_client = "pub-4210569241504288";
google_alternate_color = "FFFFFF";
google_ad_width = 234;
google_ad_height = 60;
google_ad_format = "234x60_as";
google_ad_type = "text_image";
google_ad_channel ="8623530809";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "0000FF";
google_color_text = "000000";
google_color_url = "008000";
//--></script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>]]></description></item><item><title>re: C#3.0中的“多重继承”</title><link>http://www.cnblogs.com/liaofan/archive/2008/03/25/1120130.html#1120557</link><dc:creator>金色海洋（jyk）</dc:creator><author>金色海洋（jyk）</author><pubDate>Mon, 24 Mar 2008 23:34:00 GMT</pubDate><guid>http://www.cnblogs.com/liaofan/archive/2008/03/25/1120130.html#1120557</guid><description><![CDATA[同意楼上。<img src ="http://www.cnblogs.com/liaofan/aggbug/1120557.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://liaofan.cnblogs.com/" target="_blank">金色海洋（jyk）</a> 2008-03-25 07:34 <a href="http://www.cnblogs.com/liaofan/archive/2008/03/25/1120130.html#1120557#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div><div align='right'><script type="text/javascript"><!--
google_ad_client = "pub-4210569241504288";
google_alternate_color = "FFFFFF";
google_ad_width = 234;
google_ad_height = 60;
google_ad_format = "234x60_as";
google_ad_type = "text_image";
google_ad_channel ="8623530809";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "0000FF";
google_color_text = "000000";
google_color_url = "008000";
//--></script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>]]></description></item><item><title>re: C#3.0中的“多重继承”</title><link>http://www.cnblogs.com/liaofan/archive/2008/03/25/1120130.html#1120515</link><dc:creator>曲滨*銘龘鶽</dc:creator><author>曲滨*銘龘鶽</author><pubDate>Mon, 24 Mar 2008 17:25:00 GMT</pubDate><guid>http://www.cnblogs.com/liaofan/archive/2008/03/25/1120130.html#1120515</guid><description><![CDATA[还是伪 多集成；<br>添加的这个东西和<br><br>public static void TestB(this ITestB obj)<br>和<br>public static void TestB(ITestB obj)<br><br>原则上没啥两样、就是用着舒服了一点<br>用多了看代码时候迷糊，尤其是看别人的代码的时候<br>就和js似的、别人动态在那个对象上加了个东西有时候找半天<br><br>不过在VS里基本没这问题；有图标可以看见<img src ="http://www.cnblogs.com/liaofan/aggbug/1120515.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://liaofan.cnblogs.com/" target="_blank">曲滨*銘龘鶽</a> 2008-03-25 01:25 <a href="http://www.cnblogs.com/liaofan/archive/2008/03/25/1120130.html#1120515#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div><div align='right'><script type="text/javascript"><!--
google_ad_client = "pub-4210569241504288";
google_alternate_color = "FFFFFF";
google_ad_width = 234;
google_ad_height = 60;
google_ad_format = "234x60_as";
google_ad_type = "text_image";
google_ad_channel ="8623530809";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "0000FF";
google_color_text = "000000";
google_color_url = "008000";
//--></script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>]]></description></item><item><title>re: C#3.0中的“多重继承”</title><link>http://www.cnblogs.com/liaofan/archive/2008/03/25/1120130.html#1120496</link><dc:creator>Cat Chen</dc:creator><author>Cat Chen</author><pubDate>Mon, 24 Mar 2008 16:27:00 GMT</pubDate><guid>http://www.cnblogs.com/liaofan/archive/2008/03/25/1120130.html#1120496</guid><description><![CDATA[@在路上的牛<br>你自己已经说出了，为什么不应该在接口上做默认实现。Framework Design Guideline说明了，建议的做法正式抽象的DbCommand实现IDbCommand，再派生出子类。不应该尝试直接在IDbCommand上面添加默认实现。<img src ="http://www.cnblogs.com/liaofan/aggbug/1120496.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://liaofan.cnblogs.com/" target="_blank">Cat Chen</a> 2008-03-25 00:27 <a href="http://www.cnblogs.com/liaofan/archive/2008/03/25/1120130.html#1120496#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div><div align='right'><script type="text/javascript"><!--
google_ad_client = "pub-4210569241504288";
google_alternate_color = "FFFFFF";
google_ad_width = 234;
google_ad_height = 60;
google_ad_format = "234x60_as";
google_ad_type = "text_image";
google_ad_channel ="8623530809";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "0000FF";
google_color_text = "000000";
google_color_url = "008000";
//--></script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>]]></description></item><item><title>re: C#3.0中的“多重继承”</title><link>http://www.cnblogs.com/liaofan/archive/2008/03/24/1120130.html#1120419</link><dc:creator>Angel Lucifer</dc:creator><author>Angel Lucifer</author><pubDate>Mon, 24 Mar 2008 14:56:00 GMT</pubDate><guid>http://www.cnblogs.com/liaofan/archive/2008/03/24/1120130.html#1120419</guid><description><![CDATA[说实话，还真没用到过多继承，不过楼主给出了一个思路，Thanks。<img src ="http://www.cnblogs.com/liaofan/aggbug/1120419.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://liaofan.cnblogs.com/" target="_blank">Angel Lucifer</a> 2008-03-24 22:56 <a href="http://www.cnblogs.com/liaofan/archive/2008/03/24/1120130.html#1120419#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div><div align='right'><script type="text/javascript"><!--
google_ad_client = "pub-4210569241504288";
google_alternate_color = "FFFFFF";
google_ad_width = 234;
google_ad_height = 60;
google_ad_format = "234x60_as";
google_ad_type = "text_image";
google_ad_channel ="8623530809";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "0000FF";
google_color_text = "000000";
google_color_url = "008000";
//--></script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>]]></description></item><item><title>re: C#3.0中的“多重继承”</title><link>http://www.cnblogs.com/liaofan/archive/2008/03/24/1120130.html#1120405</link><dc:creator>在路上的牛</dc:creator><author>在路上的牛</author><pubDate>Mon, 24 Mar 2008 14:43:00 GMT</pubDate><guid>http://www.cnblogs.com/liaofan/archive/2008/03/24/1120130.html#1120405</guid><description><![CDATA[这个方法是有很多局限。而且扩展方法是容易把人搞混，当初看Linq的代码，一个接口的实现方法半天没找到，后来才想起可能会在某个静态类的扩展方法中。。。<img src ="http://www.cnblogs.com/liaofan/aggbug/1120405.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://liaofan.cnblogs.com/" target="_blank">在路上的牛</a> 2008-03-24 22:43 <a href="http://www.cnblogs.com/liaofan/archive/2008/03/24/1120130.html#1120405#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div><div align='right'><script type="text/javascript"><!--
google_ad_client = "pub-4210569241504288";
google_alternate_color = "FFFFFF";
google_ad_width = 234;
google_ad_height = 60;
google_ad_format = "234x60_as";
google_ad_type = "text_image";
google_ad_channel ="8623530809";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "0000FF";
google_color_text = "000000";
google_color_url = "008000";
//--></script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>]]></description></item></channel></rss>