设计模式学习笔记03
实现开闭原则
1 面向接口编程
1) 降低程序各部分之间的耦合性,使程序模块互换成为可能。
2) 使软件各部分便于单元测试,通过编制与接口一致的模拟类,容易实现软件各部分的单元测试。
3) 易于实现软件模块的互换,软件升级时可以只部署发生变化的部分,而不影响其他部分。
2 封装变化
程序中任何可能发生变化的部分都可以封装为对象,包括命令、事件、属性、算法和状态等。封装变化是实现开闭原则的重要手段,也是在设计中发现对象的重要途径。因此在分析需求时,一定要注意什么事不变的,什么是可能发生变化的,以及这些可能的变化会对封装带来的影响。
3 采用组合替代继承

浙公网安备 33010602011771号