ВУЗ:
Составители:
Краткие теоретические сведения
Ограничение доступа
Созданию абстракции какого-либо объекта должны предшествовать определенные
решения о способе ее реализации. Выбранный способ реализации должен быть скрыт и
защищен для большинства объектов-пользователей (обращающихся к данной
абстракции). Как справедливо отметил Ингалс, «никакая часть сложной системы не
должна находиться в зависимости от подробностей внутреннего устройства других
частей системы
». Ограничение доступа позволяет вносить в программу изменения,
сохраняя ее надежность и минимизируя затраты на этот процесс.
Абстрагирование и ограничение доступа являются взаимодополняющими
операциями: абстрагирование фокусирует внимание на внешних особенностях объекта, а
ограничение доступа — или иначе защита информации — не позволяет объектам-
пользователям различать внутреннее устройство объекта. Ограничение доступа, таким
образом, определяет
явные барьеры между различными абстракциями. Возьмем для
примера структуру растения: чтобы понять на верхнем уровне действие фотосинтеза,
вполне допустимо игнорировать такие подробности, как корни растения или
метахондрии клеток. Аналогичным образом при проектировании баз данных
программисты не обращают внимание на физический смысл данных, а
сосредоточиваются на схеме, отражающей логическое строение данных.
В
обоих случаях объекты верхнего уровня абстракции не связаны прямо с
подробностями их реализации на низком уровне. Лисков считает что «для «работы»
абстракции, доступ к ее внутренней структуре должен быть ограничен». Практически это
означает наличие двух частей в описании класса: интерфейса и реализации. Интерфейс
отражает внешнее проявление объекта, создавая абстракцию поведения
всех объектов
данного класса. Внутренняя реализация описывает механизмы достижения желаемого
поведения объекта. Принцип такого различения интерфейса и реализации соответствует
разделению по сути: в интерфейсной части собрано все, что касается взаимодействия
данного объекта с любыми другими объектами; реализация скрывает от других объектов
все детали, не имеющие отношения к процессу взаимодействия объектов.
Итак
, понятие ограничения доступа можно определить следующим образом:
Ограничение доступа — это процесс защиты отдельных элементов объекта, не
затрагивающий существенных характеристик объекта как целого.
На практике осуществляется защита как структуры объекта, так и реализации его
методов.
Предположим, что по какой-либо причине изменилась архитектура аппаратных
средств системы и вместо последовательного порта управление
должно осуществляться
через область памяти. В такой ситуации нет необходимости изменять интерфейсную
часть объекта, а достаточно переписать реализацию. При правильном использовании
ограничение доступа позволяет локализовать те особенности проекта, которые
подвержены изменениям. По мере развития системы может оказаться, что какие-то
операции выполняются несколько дольше, чем допустимо, а какие-то объекты занимают
больше памяти, чем приемлемо. В таких ситуациях часто изменяют структуру объекта,
чтобы реализовать более эффективные алгоритмы или оптимизировать объемы
используемой памяти. Важным преимуществом ограничения доступа является
возможность внесения изменений в объект без изменения других объектов, связанных с
данными.
В идеальном случае попытки обращения к данным, закрытым для доступа, должны
Страницы
- « первая
- ‹ предыдущая
- …
- 21
- 22
- 23
- 24
- 25
- …
- следующая ›
- последняя »