Skip to content

chenxingwei-wayne/design-pattern

Repository files navigation

designpatterns

策略模式

设计原则:
  1. 找出应用中可能需要变化之处,把他们独立出来,不要和哪些不需要变化的代码混在一起;
  2. 针对接口编程而不是针对实现编程;(针对接口编程,关键在于多态。)
  3. 有一个可能比是一个更好,多用组合少用继承(使用组合建立系统具有更大的弹性,不仅可以将算法族封装成类,更可以”在运行时动态地改变行为“, 只要组合的行为对象符合正确的接口标准即可。)

观察者模式

设计原则:
  1. 为了交互对象之间的松耦合设计而努力。
  2. 找出程序中会变化的方面,然后将其和固定不变的方面相分离。
  3. 针对接口编程,不针对实现编程。
  4. 多用组合少用继承。

装饰者模式

设计原则
  1. 类应该对扩展开放对修改关闭。

命令模式

命令模式的更多用途
队列请求

命令可以将运算块打包(一个接收者和一组动作),然后将它传来传去,就像是一般的对象一样。即使对象已经被创建很久,运算依然可以被调用。 事实上它可以在不同的线程中被调用。利用这些特性可以做一些应用:日程安排,线程池,工作队列。工作队列和进行计算的对象之间是完全解耦的。

日志请求

某些应用需要我们将所有的动作都记录在日志中,并能在系统死机之后,重新调用这些动作恢复之前的操作。通过新增两个方法(store(), load()),命令模式就 能够支持这一点。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages