Представьте себе подкласс Collection
, который знает блок select
и блок collect
. Экземпляр этого класса оборачивает другой collection
и динамически применяет к нему эти блоки. Так, например, #do:
реализован как
do: aBlock
collection
select: [:element | select value: element]
thenDo: [:element | | v |
v := collect value: element.
aBlock value: v]]
Итак, вопрос в том, как мне назвать этот класс? Я назвал его WrappedCollection
, но это имя двусмысленно, и, кроме того, эта штука уже должна существовать и иметь имя.
Кстати, это очень похоже на Subclassing Stream, за исключением того, что у меня не Stream
.