开放-封闭原则: 对扩展开放,对修改封闭。面对需求,对程序的改动是通过增加新代码进行的,而不是更改现有的代码 开发人员应该仅对程序中频繁变化的那些部分作出抽象,然而,对于程序中的每个部分都刻意地进行抽象也不是个好办法。