Java设计模式-软件设计原则-开闭原则
推荐先阅读
:Java设计模式
对扩展开放,对修改关闭。
程序扩展时,不修改原代码,实现热拔插效果。
想要达到这样的效果,我们需要使用接口和抽象类。
因为抽象灵活性好,适应性广,只要抽象的合理,可以基本保持软件架构的稳定。
而软件中易变的细节可以从抽象派生来的实现类来进行扩展,当软件需要发生变化时,只需要根据需求重新派生一个实现类来扩展就可以了。
【例】搜狗输入法
的皮肤设计。
皮肤有共同的特点,可以为其定义一个抽象类(AbstractSkin),
而每个具体的皮肤(DefaultSpecificSkin和HeimaSpecificSkin)是其子类。
用户窗体可以根据需要选择或者增加新的主题,而不需要修改原代码,所以它是满足开闭原则的。