Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Data Structures and Algorithms in C++ 2e (На ру...docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.37 Mб
Скачать

66 Глава 2. Ориентированный на объект дизайн

2.1

Цели, принципы и образцы

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

2.1.1 Ориентированные на объект цели дизайна

Внедрения программного обеспечения должны достигнуть надежности, адаптируемости и reusabil-

ity. (См. рисунок 2.1.)

Надежность Адаптируемость Возможность многократного использования

Рисунок 2.1: Цели ориентированного на объект дизайна.

Надежность

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

то, что программа производит правильную продукцию для всех ожидаемых входов в про - применение грамма. Кроме того, мы хотим, чтобы программное обеспечение было прочно, то есть, способно к обработке неожиданных входов, которые явно не определены для ее применения. Например, если программа ожидает положительное целое число (например, представляя цену на пункт) и вместо этого дана отрицательное целое число, то программа должна быть в состоянии прийти в себя изящно после этой ошибки. Что еще более важно, в критических по отношению к жизни appli-катионах, где ошибка программного обеспечения может привести к ране или потерям убитыми, программное обеспечение, которое не прочно, могло быть смертельным. Этот пункт вели домой в конце 1980-х в несчастных случаях, включающих Therac-25, машину радиационной терапии, которая сильно сверхдозировала шесть пациентов между 1985 и 1987, некоторые из которых умерли от осложнений, следующих из их радиационной передозировки. Все шесть несчастных случаев были прослежены до ошибок программного обеспечения.

2.1. Цели, принципы и образцы 67

Адаптируемость

Современные приложения, такие как веб-браузеры и интернет-поисковые системы,

как правило, включайте большие программы, которые много лет используются. Программное обеспечение поэтому должно быть в состоянии развиться в течение долгого времени в ответ на изменяющиеся условия в его envi-ronment. Таким образом другая важная цель качественного программного обеспечения состоит в том, что оно достигает, приспосабливаются - способность (также названный способностью к развитию). Связанный с этим понятием мобильность, которая является способностью программного обеспечения бежать с минимальным изменением на различных аппаратных средствах и operat-системных платформах луга. Преимущество написания программного обеспечения в C ++ является мобильностью, обеспеченной самим языком.

Возможность многократного использования

Хождение рука об руку с адаптируемостью - желание что программное обеспечение быть повторно используемым, это

тот же самый кодекс должен быть применимым как компонент различных систем в различных заявлениях. Развитие качественного программного обеспечения может быть дорогим предприятием, и его стоимость может быть возмещена несколько, если программное обеспечение разработано в пути, который делает его легко повторно используемым в будущих заявлениях. Такое повторное использование должно быть сделано с осторожностью, однако, поскольку один из основных источников ошибок программного обеспечения в Therac-25 произошел из inappropri-, съел повторное использование программного обеспечения Therac-20 (который не был ориентирован на объект и не разработанный для платформы аппаратных средств, используемой с Therac-25).

2.1.2 Ориентированные на объект принципы разработки

Руководитель среди принципов ориентированного на объект подхода, которые предназначены к

облегчите цели, обрисованные в общих чертах выше, следующий (см. рисунок 2.2):

• Абстракция

• Герметизация • Модульность.

Абстракция Герметизация Модульность

Рисунок 2.2: Принципы ориентированного на объект дизайна.