1.开闭原则
<1>一个软件实体对扩展是开发,对修改是关闭.
<2>面向对象的解释:可以扩展的是具体层,不可以修改的是抽象层.
<3>抽象化是关键
<4>对变化的封装
a.一种变化的不同表象体现体现在继承中的每个具体类
b.继承是封装变化的方法,而不是一般到特殊化得方法
c.一种变化不应该和另外一个变化混合在一起
d.一个好的继承等级结构是不能超过两层.
2.模式中的体现:
<1>strategy:策略模式:图书管理系统 折扣计算
<2>其实所有的设计模式就是在不同的方向上面对变化的封装