
看到迭代器原理的时候。

引自: https://blog.csdn.net/qq_42039281/article/details/80871794
图床链接: https://s1.ax1x.com/2020/05/07/YmIBCT.png
有提供范围的迭代器, [前向 /双向 /随机]
有提供功能的迭代器。 [输入 /输出]
我想把他们结合起来,并且使用 C 语言结构体 管理使用,
如果使用适配器模式,那就肯定会抹杀掉其中一种他们子类之间不一样的特性。
适配器模式:
功能迭代器.适配(范围迭代器); struct range_iterator{ void *advance; // 保留 共有 void *distance; // 保留 共有 //void *next; // 剔除 forward,bidirectional,random 持有 //void *prev; // 剔除 bidirectional,random 持有 //void *at; // 剔除 random 持有 }; input_iterator.adapt(forward_iterator); output_iterator.adapt(bidirectional_iterator); xxx 模式,咱也不知道叫啥,就叫 xxx 吧,伪代码:
范围迭代器.范围方法(范围参数[可选],功能迭代器.功能方法,功能参数); forward_iterator.next(input_iterator->read, ...); bidirectional_iterator.prev(input_iterator->read, ...); random_access_iterator.at(position, output_iterator->write, ...); 那么这个 xxx 叫啥模式啊?
装饰器模式?还是就是适配器模式?还是其他呀?
1 yidinghe 2020-05-08 01:21:56 +08:00 via Android 描述下“结合起来”是什么意思。 |