Обзор темы [Рефакторинг кода]

Инкапсулирование коллекции (Encapsulate Collection)

Метод возвращает коллекцию.

Сделать его возвращающим копию ‘только для чтения’ и предусмотреть методы по добавлению и удалению объектов в коллекцию.

Под коллекцией понимается набор объектов: массив, список, множество, вектор.

Метод Get, выдающий коллекцию целиком, позволяет копаться в ней клиентам без уведомления объекта – собственника коллекции и выдает им лишнюю информацию о внутреннем представлении коллекции, Таким образом, Get должен возвращать защищенную от изменений копию коллекции без ее внутренней структуры.

Метод Set, также для уведомления объекта – собственника, должен состоять из двух методов, имеющих дело с отдельными объектами в коллекции – ‘Добавить’ и ‘Удалить’.