最近在读 《Head First 设计模式》,从书中摘取了一些设计原则

我们总是需要花许多时间在第一版软件开发之后,系统的维护和变化,比原先开发的时间多得多,所以我们要致力于提高可维护性和可扩展性。

使用设计模式,就能达到上述的目的。因为设计模式是历经验证的 OO(Object Oriented) 设计经验

设计原则

  • 利用其他开发人员的经验与智慧
  • 找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起
  • 针对接口编程而不是针对实现编程
  • 多用组合,少用继承
  • 交互对象之间的松耦合设计
  • 开放-关闭原则:类应该对扩展开放,对修改关闭

有哪些设计模式?

策略模式 (Strategy Pattern)

定义了算法族,分别封装,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。

观察者模式(Observer Pattern)

在对象之间定义一对多的依赖关系,(observer 依赖 observable),observable 对象一旦发生变化,可以通知到所有已注册的 observer 对象。

体现的设计原则:

  1. 针对接口编程
  2. 交互对象之间的松耦合设计

装饰者模式

我的体会

  • 易于扩展的内涵是不修改或者少修改现有代码的情况下,通过新增代码就可以实现新的功能。不变更原有的代码,bug 会少很多。