设计模式学习- 开闭原则

开闭原则定义:

一个软件实体如类、 模块和函数应该对扩展开放, 对修改关闭。通俗一点讲,就是一个软件实体应该通过扩展来实现变化,而不是通过修改原有的代码来实现变化。
开闭原则的优点:

1.不修改原有代码,只通过继承或者实现一个接口来完成功能的变更,避免了修改代码带来的风险,大大提升了系统的可扩展性和稳定性。

2.原有代码一般不变,维护人员如果需要新增功能只需要添加新类和新的方法而不需要看懂原来的代码,提高系统的可维护性的同时也增强了系统应对变更的灵活性

3.减少了测试成本,一旦修改了原有方法的代码,那么所有引用该方法的地方都可能需要再重新测试一次,无形中增加了测试的成本。但是如果仅仅是新增了一个方法,那么只需要测试该方法通过即可。

如何使用开闭原则:

1. 抽象约束

第一, 通过接口或抽象类约束扩展, 对扩展进行边界限定, 不允许出现在接口或抽象类中不存在的public方法;
第二, 参数类型、 引用对象尽量使用接口或者抽象类, 而不是实现类;

第三, 抽象层尽量保持稳定, 一旦确定即不允许修改。

2. 元数据( metadata) 控制模块行为
3. 制定项目章程
4. 封装变化

扫描二维码关注公众号,回复: 743419 查看本文章

猜你喜欢

转载自wangning1125.iteye.com/blog/2252676