Design Principles for Collection and Enumerator Interfaces
Различные основные принципы разработки за каждым типом интерфейса:
Интерфейс коллекции предоставляет прямой доступ к одному элементу в коллекции с помощью метода item, он позволяет клиентам определить, сколько элементов в коллекции посредством свойства Счетчик и часто позволяет клиентам добавлять и удалять элементы.
Интерфейс перечислителя предоставляет серийный доступ к нескольким элементам в коллекции, он не позволяет клиенту узнать число элементов в коллекции (до тех пор, пока не будет остановлена возвращает перечислитель элементов), и он не предоставляет никакой способ добавлять или удалять элементы.
Каждый тип интерфейса должен играть в другую роль безопасности доступа к элементам в коллекции.