命令模式:
将要执行的命令封装成一个对象,可以使用多个对象对应多个命令,对于请求排队和记录请求日志,以及支持可撤销的操作。
实际是将每个command封装起来,变成一个class中的member function,利用虚函数 可以实现运行时绑定,但是会牺牲性能。
函数对象的范式编程也可以做到,实现编译时绑定,性能更高。
迭代器模式:
类似STL中的迭代器设计思路,将算法和容器用迭代器连接。
该模式定义:提供一种方法顺序访问容器的对象,又不能暴露容器的内部表示,改变其内容。
STL 中的迭代器分五类