在谈设计模式之前想谈一下设计模式的好处:
- 共享的模式词汇“威力强大”。当你使用模式名称和其他开发人员或者开发团队沟通时,你们之间交流的不只是模式名称,而是一整套模式背后所象征的质量、特性、约束。
- 模式能够让你用更少的词汇做更充分的沟通。当你用模式描述的时候,其他开发人员很容易知道你对设计的想法。
- 将说话的方式保持在模式层次,可以让你待在“设计圈子”就一点。使用模式谈论软件系统,可以让你保持在设计层次,不会被压低到对象与类这种琐碎的事情上面。
- 共享词汇可帮你的开发团队快速充电。对于设计模式有深入了解的团队,彼此之间对于设计的看法不容易产生误解。
- 共享词汇能帮助初级开发人员迅速成长。初级开发人员向有经验的开发人员看齐。当高级开发人员使用设计模式,初级开发人员也会跟着学。把你的组织建成一个模式使用者的社区。
OO基础:
- 抽象
- 封装
- 多态
- 继承
OO设计原则:
- 封装变化
- 多用组合,少用继承
- 针对接口编程,不针对实现编程
OO设计模式:
- 策略模式定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立与使用算法的客户。
策略模式实例(Java实现):