1.开闭原则
|-定义:对扩展开放,对修改关闭;
|-含义:在需求发生改变时,不修改原有的代码,扩展模块功能,使其满足需求功能;
|-作用:开闭原则是面向对象程序设计的终极目标,他使软件实体【类,接口,方法】具有一定的适应性和灵活性,又具有稳定性和延续性。
|--对软件测试的影响:只需测试修改或者新增的功能模块;
|--提高代码的复用性和扩展性;
|--提高程序的可维护性;
|-实现方法:可以采用“抽象约束,封装变化”的方式,即通过接口或者抽象类为软件实体定义一个相对稳定的抽象层,将相同的可变因素封装到具体的实现类中。
例子:比如各种主题,都有背景图片,字体,图标等元素,可以将其功能的特征抽象化,具体的主题内容在其子类中实现,这样新增一个主题,只需要新增一个具体实现类,无需修改原有实体类,遵循开闭原则。