看到迭代器原理的时候。
引自: 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 叫啥模式啊?
装饰器模式?还是就是适配器模式?还是其他呀?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.