2, 开闭原则(Open Closed Principle)

concept

Software entities (classes, modules, functions) should be open for extension but closed for modification
软件实体(包括类、模块、功能等)应该对扩展开放,但是对修改关闭()


analyse

  1. 相对于其他的几种设计原则来讲,开闭原则的思想就像一个纲领【用抽象构建框架,用实现扩展细节】,其他几大原则更像在这个纲领的之上进行拓展
  2. 在设计一个模块的时候,应对使这个模块可以在【不被修改】的前提下被扩展,换言之,应对可以【不必修改源代码】的情况下【改变这个模块的行为】。
  3. 利用接口或抽象类抽象出系统的抽象层,抽象层不变,利用实现层进行扩展;
  4. 对可变性的封装,将可变的元素封装起来,防止改变扩散到整个应用;
  5. 继承是用来封装可变性的,一般的继承层次不要超过两层;
  6. 注意控制封装的粒度,不要将两种可变性封装到一起;

example


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。