Skip to content
On this page

软件设计原则

在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展和灵活性,程序员要尽量根据设计原则的6条原则来开发程序,从而提高软件开发效率、节约软件开发成本和维护成本

开闭原则

  • 对扩展开放,对修改闭合。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。简而言之,是为了使程序的扩展性好,易于维护和升级
  • 想要达到这样的效果,我们需要使用接口和抽象类
  • 因为抽象灵活性好,适用性广,只要抽象得合理,可以比本保持软件架构的稳定。而软件中易变的细节可以从抽象派生来实现类来进行扩展,当软件需要发生变化,只需要根据需求重新派生出一个实现类扩展就好了
  • 示例:更换搜狗输入法的皮肤设计
  • 分析:搜狗输入法的皮肤是输入法背景图片、窗口颜色和声音等元素的组合。用户可以根据自己的小更换自己的输入法皮肤,也可以从网上下载新的皮肤。这些皮肤有共同的特点,可以为其定义一个抽象类(AbstractSkin),而每个具体的皮肤(DefaultSpectificSkin和MySkin)是其子类。用户窗体可以根据需要选择或者增加新的主题,而不需要修改源代码,所以它是满足开闭原则的

image-20220911123925346