2014年6月21日

【设计模式】观察者模式(改进后的)

摘要: 前言之前 观察者模式一篇中,【通知者】需要知道【观察者】的类名和更新函数名,耦合度稍大,本篇稍稍修改一下,类似于大话设计模式里的C#描述的委托事件的方法。采用 将类成员函数指针转换为普通指针 的方式,把每个【观察者】类的 相同原型的更新函数指针转换为std::function然后保存起来。然后在【通... 阅读全文

posted @ 2014-06-21 18:26 崔好好 阅读(402) 评论(0) 推荐(0)

使用std::function 把类成员函数指针转换为普通函数指针

摘要: 前言这是改造前一篇 设计模式的基础,使通知者不必知道观察者的类名和函数名,只需要知道更新函数的原型即可。开发环境:WIN7 32位 + VS2010发现在VS2005中使用std::funtion报错:错误 1 error C2039: “function”: 不是“std”的成员 e:\vspro... 阅读全文

posted @ 2014-06-21 18:04 崔好好 阅读(10271) 评论(0) 推荐(0)

【设计模式】观察者模式

摘要: 观察者模式适用于一个变化会引起其他多个变化引起变化的叫【通知者】,被引起变化的叫【观察者】。从代码实现角度讲,【抽象通知者】需要依赖于【抽象观察者】,至少需要知道抽象观察者的类名和一个【更新函数】名。这个模式的一般实现有点违反【面向接口编程,不要面向实现编程】,而且观察者的更新函数是同一个抽象基类的... 阅读全文

posted @ 2014-06-21 15:21 崔好好 阅读(503) 评论(0) 推荐(0)

导航