Объектно-ориентированное программирование
При написании системы использовался объектно-ориентированный подход. Преимущества такого метода очевидны:
объектная модель позволяет в полной мере использовать выразительные возможности объектных и объектно-ориентированных языков программирования;
использование объектного подхода существенно повышает уровень унификации разработки и пригодность для повторного использования не только программ, но и проектов, что, в конце концов, ведет к созданию среды разработки. Объектно-ориентированные системы часто получаются более компактными, чем их не объектно-ориентированные эквиваленты. А это означает не только уменьшение объема кода программ, но и удешевление проекта за счет использования предыдущих разработок, что дает выигрыш в стоимости и времени;
возможность развиваться постепенно, не приводит к полной переработке программы даже в случае существенных изменений исходных требований;
риск при разработке сложных систем уменьшается, поскольку интеграция заложена ещё при проектировании, а не производится в конце разработки.
Основой объектно-ориентированного программирования является объектная модель. Она имеет 4 главных элемента:
абстрагирование;
инкапсуляция;
модульность;
иерархия.
Кроме главных, имеются ещё 3 дополнительных элемента:
типизация;
параллелизм;
сохраняемость.
Рассмотрю эти составляющие подробнее.
Абстракция выделяет существенные характеристики некоторого объекта, отличающие его от других видов объектов и, таким образом, чётко определяет его концептуальные границы с точки зрения наблюдателя. Абстрагирование концентрирует внимание на внешних особенностях объекта и позволяет отделить самые существенные особенности от несущественных. Важен принцип наименьшего удивления, который гласит, что абстракция должна охватывать всё поведение объекта, но не больше и не меньше, и не привносить сюрпризов или побочных эффектов, лежащих вне сферы её применения.
Инкапсуляция – это процесс отделения друг от друга элементов объекта, определяющих его устройство и поведение; инкапсуляция служит для того, чтобы изолировать контрольные обязательства абстракции от их реализации.
Правильное сочетание инкапсуляции с абстрагированием позволит, к примеру, легко переписать внутреннее устройство объекта, не затрагивая интерфейс. К примеру, если я решу попробовать другие генные операторы для улучшения сходимости, мне не придётся переделывать всю программу, достаточно будет переписать соответствующие части класса TGeneticAlgorithm.
Модульность – это свойство системы, которая была разложена на внутренние связные, но слабо связанные модули. Этот принцип дополняет абстрагирование и инкапсуляцию, проводя границы между абстракциями.
Иерархия – это упорядочивание абстракций по уровням. Примером иерархии является наследование – важнейший инструмент объектно-ориентированного программирования. Второй важной разновидностью иерархии является агрегация, определяющая отношение “partof”.
Понятие типизации взято из теории абстрактных типов данных. Типизация – это способ защититься от использования объектов одного класса вместо другого, или по крайней мере управлять таким использованием.
Параллелизм уделяет главное внимание абстрагированию и синхронизации процессов. Можно сказать, что параллелизм – это свойство, отличающее активные объекты от пассивных. Почти все современные языки программирования имеют средства для управления нитями и потоками.
Ну и наконец, последний из элементов объектно-ориентированной модели - сохраняемость. Она представляет из себя способность объекта существовать во времени, переживая породивший его процесс, и(или) в пространстве, перемещаясь из своего адресного пространства.
- Содержание
- Введение
- Титул спецчасти
- Порядок контроля и приёмки
- Эскизный проект
- Постановка задачи
- Предварительные нир
- Обзор средств автоматизации туристского бизнеса.
- Программный комплекс «Мастер-Тур»
- 1С.Предприятие
- Потребности пользователя
- Технический проект
- Общий алгоритм работы программы
- Выбор платформы для проектирования и его обоснование.
- Выбор метода решения задачи и обоснование
- Уточнение общего алгоритма
- Описание генетических алгоритмов
- История появления эволюционных алгоритмов
- Основы генетических алгоритмов
- Возможности применения генетических алгоритмов
- Математическая формулировка экстремальной задачи однокритериального выбора
- Понятие “оптимальное решение”
- Влияние параметров генетического алгоритма на эффективность поиска
- Операторы кроссовера и мутации
- Выбор родительской пары
- Механизм отбора
- Формат данных
- Разработка алгоритма генерации критерия
- Разработка алгоритма оптимизации
- Разработка структуры классов
- Разработка базы данных системы
- Конфигурация технических средств
- Рабочий проект
- Разработка программы
- Алгоритмы работы программы
- Методика испытаний
- Разработка программной документации
- Установка информационной системы
- Титул технологи Технологический раздел
- Введение
- Объектно-ориентированное программирование
- Объектно-ориентированное проектирование
- Работа с базами данных вDelphi
- Использование компонентовAdo
- Методика отладки и тестирования программы
- Особенности тестирования программного обеспечения
- Встроенные средства отладки и тестирования среды разработки
- Основные факторы надёжности системы
- Метод «силовой отладки»
- Методы тестирования
- Алгоритмическое тестирование
- Функциональное или аналитическое тестирование
- Содержательное тестирование
- Виды тестов
- Анализ рынка туруслуг
- Постановка задачи
- Методы сегментирования
- Расчёт сегментации
- Титул пэб Раздел по технике безопасности
- Введение.
- Рабочее место турагента
- Источники опасности и вредностей
- Излучения экрана монитора
- Микроклимат помещения
- Психофизиологические факторы
- Нерациональное освещение.
- Заключение
- Список литературы
- Приложения