在什么情况下用抽象类优于用接口;
自定义HTTP 处理程序的配置(IIS6.0),
除了在web.config的httphandles中配置之外,还需不需要IIS 6.0 中注册处理程序.

解决方案 »

  1.   

    抽象类中可以写实现代码,接口中不可以。
    如果子类和抽象类类似,那些子类要是有一些相同实现的方法,就可以写在抽象类中,共用抽象类中的方法,如果是接口一定要重写会有很多代码重复,这是最大的优点吧自定义HTTP 处理程序,听说在 IIS 中要配置一下。
      

  2.   

    抽象类之于接口的优点在于,抽象类可以写实例方法,通过派生继承,可以更有效的实现代码重用。
    但由于重用实例方法,从某方面讲抽象类增加了耦合度,而接口则最大限度的实现了节耦(接口本人认为最大的优点就在于解耦)。
    面向对象其实是一个很难说的东东,一定方面要求最大量的实现代码重用,一方面又要求最大量的低耦高聚,其本身就是矛盾的,我们只有在其中找到一个均衡点,我们的程序才会变得更加完善。什么时候用接口什么时候用抽象类,根据项目需要而定,有时两者结合使用代码灵活性更大。.net 自定义httphandler,只需要在webconfig文件配置就可以,并不需要在iis配置。
    另:如果有兴趣可以研究一下iis filter,其功能跟httphandler类似,大功能更强大(这个需要通过iis配置)