最近在读 《Head First 设计模式》,从书中摘取了一些设计原则
我们总是需要花许多时间在第一版软件开发之后,系统的维护和变化,比原先开发的时间多得多,所以我们要致力于提高可维护性和可扩展性。
使用设计模式,就能达到上述的目的。因为设计模式是历经验证的 OO(Object Oriented)
设计经验
设计原则
- 利用其他开发人员的经验与智慧
- 找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起
- 针对接口编程而不是针对实现编程
- 多用组合,少用继承
- 交互对象之间的松耦合设计
- 开放-关闭原则:类应该对扩展开放,对修改关闭
有哪些设计模式?
策略模式 (Strategy Pattern)
定义了算法族,分别封装,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。
观察者模式(Observer Pattern)
在对象之间定义一对多的依赖关系,(observer 依赖 observable),observable 对象一旦发生变化,可以通知到所有已注册的 observer 对象。
体现的设计原则:
- 针对接口编程
- 交互对象之间的松耦合设计
装饰者模式
我的体会
- 易于扩展的内涵是不修改或者少修改现有代码的情况下,通过新增代码就可以实现新的功能。不变更原有的代码,bug 会少很多。