Пусть у нас есть поток (наследник от TStream). Кем-то уже написанный. Ну из стандартных библиотек например.
И пусть у нас вдруг встаёт задача передать этот поток в виде IStream.
Как это сделать? Использовать TStreamAdapter? Или делать наследника реализующего IStream?
Адаптер конечно - можно. Но... Лишний объект. И всё такое.
Потомка - неплохо конечно. Но... А если IStream надо реализовать на НЕСКОЛЬКИХ стандартных классах? Будем заниматься Copy'n'Paste? А потом синхронизировать код?
Давайте я расскажу вам как реализовать IStream на примесях.
Давайте?
... to be continued ...
И пусть у нас вдруг встаёт задача передать этот поток в виде IStream.
Как это сделать? Использовать TStreamAdapter? Или делать наследника реализующего IStream?
Адаптер конечно - можно. Но... Лишний объект. И всё такое.
Потомка - неплохо конечно. Но... А если IStream надо реализовать на НЕСКОЛЬКИХ стандартных классах? Будем заниматься Copy'n'Paste? А потом синхронизировать код?
Давайте я расскажу вам как реализовать IStream на примесях.
Давайте?
... to be continued ...
Комментариев нет:
Отправить комментарий