开闭原则讲的是:一个软件应当时对为扩展开放,而对修改关闭。
Software entities should be open for extension,but closed for modification.
换句话描述就是:应当可以在不修改源代码的情况下改变整个模块的行为。
优势:通过扩展,可以满足新的需求。已有的软件模块,特别是最重要的抽象层模块不能被修改!!
1 怎样做到“开闭”?
把大段大段的if else语句封装为一个个的对象,并把它们封装起来。这样就把大量的逻辑判断语句移植到多态上面去了。