С++ - язык, который изучается постепенно.Что лучше?


Материалы книги получены с http://www.itlibitum.ru/

Что лучше?

Выбор между активными и пассивными итераторами в основном зависит от стиля, но я предпочитаю активные итераторы по нескольким причинам:

Законченный класс итератора проще использовать повторно, чем пару функций большого

класса.

Рано или поздно вам захочется предоставить несколько разных способов перебора содержимого коллекции. Один и тот же общий интерфейс класса Iterator подойдет для любого способа, а в форме функций класса для каждого типа перебора вам придется создавать пару новых функций.

Пассивные итераторы не имеют открытого интерфейса, однако клиентские объекты видят их через адреса. Это выглядит довольно странно.

При равенстве всех остальных показателей я обычно предпочитаю активные итераторы,

поскольку они обеспечивают лучшую инкапсуляцию.

В коммерческих библиотеках классов можно встретить хорошие примеры обеих форм. В вопросе об активных и пассивных итераторах отражается общий спор об активных и пассивных объектах, поэтому в первую очередь следует учитывать собственные приемы проектирования.


Назад    Содержание    Далее    

Copyright 2005. Климов Александр. All Right Reserved.
Сайт создан в системе uCoz