Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
инф_без / экз / курс_лекций.doc
Скачиваний:
144
Добавлен:
30.03.2015
Размер:
1.11 Mб
Скачать
      1. Основные понятия объектно-ориентированного подхода

Объектно-ориентированный подходиспользует объектнуюдекомпозицию, то есть поведение системы описывается в терминах взаимодействияобъектов.

Что же понимается под объектоми каковы другие основополагающие понятия данного подхода?

Прежде всего, введем понятие класса.Класс- это абстракция множества сущностей реального мира, объединенных общностью структуры и поведения.

Объект- это элементкласса, то есть абстракция определенной сущности.

Подчеркнем, что объектыактивны, у них есть не только внутренняя структура, но и поведение, которое описывается так называемымиметодами объекта. Например, может быть определенкласс"пользователь", характеризующий "пользователя вообще", то есть ассоциированные с пользователями данные и их поведение (методы). После этого может быть созданобъект"пользователь Иванов" с соответствующей конкретизацией данных и, возможно,методов.

К активности объектовмы еще вернемся.

Следующую группу важнейших понятий объектного подхода составляют инкапсуляция,наследованиеиполиморфизм.

Основным инструментом борьбы со сложностью в объектно-ориентированном подходеявляетсяинкапсуляция- сокрытие реализацииобъектов(их внутренней структуры и деталей реализацииметодов) с предоставлением вовне только строго определенных интерфейсов.

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

Наследованиеозначает построение новыхклассовна основе существующих с возможностью добавления или переопределения данных иметодов.Наследованиеявляется важным инструментом борьбы с размножением сущностей без необходимости. Общая информация не дублируется, указывается только то, что меняется. При этомкласс-потомок помнит о своих "корнях".

Очень важно и то, что наследованиеиполиморфизмв совокупности наделяют объектно-ориентированную систему способностью к относительно безболезненной эволюции. Средства информационной безопасности приходится постоянно модифицировать и обновлять, и если нельзя сделать так, чтобы это было экономически выгодно, ИБ из инструмента защиты превращается в обузу.

Мы еще вернемся к механизму наследованияпри рассмотрении ролевого управления доступом. Пополним рассмотренный выше классический набор понятийобъектно-ориентированного подходаеще двумя понятиями:грани объектаиуровня детализации.

Объектыреального мира обладают, как правило, несколькими относительно независимыми характеристиками. Применительно к объектной модели будем называть такие характеристикигранями. Мы уже сталкивались с тремя основнымигранямиИБ - доступностью, целостностью и конфиденциальностью. Понятиегранипозволяет более естественно, чемполиморфизм, смотреть наобъектыс разных точек зрения и строить разноплановые абстракции.

Понятие уровня детализацииважно не только для визуализацииобъектов, но и для систематического рассмотрениясложных систем, представленных в иерархическом виде. Само по себе оно очень простое: если очередной уровень иерархии рассматривается суровнем детализацииn > 0, то следующий - суровнем(n - 1).Объектсуровнем детализации0 считается атомарным.

Понятие уровня детализациипоказа позволяет рассматривать иерархии с потенциально бесконечной высотой, варьировать детализацию какобъектовв целом, так и ихграней.

Весьма распространенной конкретизацией объектно-ориентированного подходаявляютсякомпонентные объектные среды, к числу которых принадлежит, например, JavaBeans. Здесь появляется два новых важных понятия:компонентиконтейнер.

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

Контейнерымогут включать в себя множествокомпонентов, образуя общий контекст взаимодействия с другимикомпонентамии с окружением.Контейнерымогут выступать в роликомпонентовдругихконтейнеров.

Компонентные объектные средыобладают всеми достоинствами, присущимиобъектно-ориентированному подходу:

  • инкапсуляция объектных компонентов скрывает сложность реализации, делая видимым только предоставляемый вовне интерфейс;

  • наследование позволяет развивать созданные ранее компоненты, не нарушая целостность объектной оболочки;

  • полиморфизм по сути дает возможность группировать объекты, характеристики которых с некоторой точки зрения можно считать сходными.

Понятия же компонентаиконтейнеранеобходимы нам потому, что с их помощью мы можем естественным образом представить защищаемую ИС и сами защитные средства. В частности,контейнерможет определять границы контролируемой зоны (задавать так называемый "периметр безопасности").

На этом мы завершаем описание основных понятий объектно-ориентированного подхода.

Соседние файлы в папке экз