![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 64
SwellWu
这个作者很懒,什么都没留下…
展开
-
《Head First 设计模式》学习笔记之观察者模式
观察者模式:定义了对象之间的一对多依赖,当一个对象改变状态时,他的所有依赖者都会收到通知并自动更新。最典型的例子就是报社和订阅者。基本模型:主题通过保存有所有观察者接口的指针,当自己数据更新时,利用这些指针调用各自观察者的具体更新方法,完成更新。简单实现:#include#include#include#includeusing namespace原创 2015-05-16 16:27:29 · 556 阅读 · 0 评论 -
装饰者模式
装饰者模式:动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。基本模型:利用基本组件和装饰物共同继承自一个超类的设计,在超类中拥有所需的方法接口,在所有的装饰物类中保存超类的指针,将此指针视为此装饰物装饰之前的状态,基于此实现此装饰物装饰后的状态,所有的装饰物都有之前和之后的状态,也即只完成属于自己的那个步骤,因此符合开放关闭原则。核心就是利用多原创 2015-05-24 14:58:15 · 352 阅读 · 0 评论 -
Strategy-策略模式
用途完成一个任务有多种不同的方法,不同的情况需要采取不同的方法,这种情况下应该将不同的算法独立起来,一方面使算法独立于算法的使用者。定义定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。结构Context: 使用环境Strategy: 算法接口ConcreteStrategy: 具体算法实现类图时序图优缺点优点算法之间相互独立,符合开闭原则。避免原创 2016-05-26 17:02:10 · 366 阅读 · 0 评论 -
Observer-观察者模式
用途当一个功能有两类,一类对某些主题感兴趣,希望能得到关于这些主题的信息,另一类 管理主题的变化,并在适当时机通知感兴趣的对象。观察者模式模式正式这种情况的极佳选择。定义观察者模式定义对象间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。结构Subject:主题抽象类Observer:观察者抽象类ConcreteSubject:具体主题Concr原创 2016-05-28 17:11:46 · 448 阅读 · 0 评论