当前位置:C++技术网 > 资讯 > 菜鸟解析设计模式:6

菜鸟解析设计模式:6

更新时间:2016-09-07 17:33:02浏览次数:1+次

声明:本文参考郗晓勇的文章《23种设计模式》,之前这个名字一直写错了,在此道歉


16.命令。这模式我看了半天,好不容易看出了个端倪。大概是这个意思:

外部调用把动作传给“接受者”,并控制“具体的命令”中的“状态”,然后就不管了。

内部存在一个“调用”机制,负责在合适的时候执行“一个操作”。

解释到这个程度已经可以了。愿意添加什么东西就加什么。我个人很反对使用回调函数。因为回调的话,它是独立执行的,其过程不会特意进行等待之类的操作。如果写在了底层,它和别的函数的协作执行的协调性会相当的差,我们会不得不一直修改回调函数。用这种机制也许会有所改观。

原文:

意图:

将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。




17.迭代器。

这东西是辅助操作的一个对象。就和指针差不多。只是移动地址变成了使用 Next 函数。这东西可以适应多种数据结构比如链表,各种树,哈希表等等,进行各种位移、执行或其他操作。具体的位移方法或执行方法方法需要根据实际来编辑。

已经见过很多了。在 C++ 的 stl 里我们用 vector,map,set 或是别的都得建立一个迭代器,用法几乎等同于指针。




18.中介者。

原文:中介者使各对象不需要显式地相互引用。

这话挺明白的了。同行调用中介者,然后中介者再去调用别的东西(当然也包含“同行”本身)。这样避免了模块和模块之间的直接调用,降低了耦合。