Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

head first 设计模式-0x09 #22

Open
ichengzi opened this issue Jun 27, 2020 · 0 comments
Open

head first 设计模式-0x09 #22

ichengzi opened this issue Jun 27, 2020 · 0 comments

Comments

@ichengzi
Copy link
Owner

ichengzi commented Jun 27, 2020

总结

模式是在某种情境(context)下,针对某问题的某种解决方案。
情景:就是应用某个设计模式的场景。
问题:该情景遇到的问题。
解决方案:找到适合的设计模式。

  • 装饰者:包装一个对象,以提供新的行为。
  • 状态:封装了基于状态的行为,并使用委托在行为之间切换。
  • 迭代器:在对象的集合之间游走,而不是暴露集合的实现。
  • 外观:简化一群类的接口。
  • 策略:封装可以互换的行为。
  • 代理:包装对象,以控制对此对象的访问。
  • 工厂方法:由子类觉得要创建的具体类是哪一个。
  • 适配器:封装对象,并不提供不同的接口。
  • 观察者:让对象能在状态改变时被通知。
  • 模板方法:由子类决定如何实现一个算法中的步骤。
  • 组合:客户用一致的方式处理对象集合和单个对象。
  • 单例:确保有且只有一个模式被创建。
  • 抽象工厂:允许客户创建对象的家族,而无需指定他们的具体类。
  • 命令:封装请求成为对象。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant