版本式的问题最好以抽象类来实现,不能用接口吗?2者有什么区别?

解决方案 »

  1.   

    抽象类可以在版本发布后再在其基础上增加新的方法以达到扩展的目的,
    而接口在版本发布后如果要扩展可以增加新的接口(不能在原有接口上增加新的方法),也可以达到目的! 
    所以不能简单的判断谁好谁坏,因为它们都能达到目的
      

  2.   

    这要看你版本升级的内容到底是什么,也就是模式中强调的要搞清楚,到底什么是变化的.来封装变化.如果是行为变化,那就通过发布不同版本的接口来实现.(接口也可以继承)
    如果变化的只是内容逻辑,而接口形式不会变化,这种情况下,可以通过发布不同版本的扩展类来简化升级工作.