Объектно-ориентированное программирование




Объектно-ориентированное программирование - стр. 50


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

Оптимизация разработки

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

 В процессе оптимизации разработки выполняются следующие преобразования:

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

·         изменяется порядок вычислений для достижения большей эффективности;

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

На этапе анализа требований к программной системе избыточные зависимости нежелательны, так как они не вносят в модель новой информации.

Рис. 5.13

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

 

Ускорение поиска с помощью производной зависимости

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




Содержание  Назад  Вперед