重要语录
语录一: 软件实体(类、模块、函数等等)对于扩展是开放的,对于修改是封闭的
语录二: 因此要抽象最有可能发生变化的种类,来隔离这些变化,避免修改
语录三: 变化一发生就要采取行动做进一步抽象,以避免更大的变化
语录四: 对需求的变化时通过增加新代码进行的,而不是更改现有的代码
语录五: 查明可能发生的变化所等待的时间越长,要创建正确的抽象就越困难
语录六:拒绝不成熟的抽象和抽象本身一样重要
一句话概括
要察觉变化及早抽象,避免修改
模式实践
一般来讲抽象一般对类或子系统的core部分,比如对显示控制器,我们可以专门抽象出控制器类,不同的控制器如各自有自己的实现