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

Немного истории о возникновении парадигмы

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

Первым объектно-ориентированным языком был Simula (Симуляция реальных систем), который был разработан в 1960 году исследователями из Норвежского вычислительного центра.

В 1970 году Алан Кей и его исследовательская группа в Xerox PARK создали персональный компьютер под названием Dynabook и первый чистый объектно-ориентированный язык программирования (OOPL) – Smalltalk, для программирования Dynabook.

В 1980-х Грэди Буч опубликовал статью под названием «Объектно-ориентированный дизайн», в которой в основном представлен дизайн для языка программирования Ada. В последующих изданиях он расширил свои идеи до полного метода объектно-ориентированного проектирования.

В 1990-х годах Коад включил идеи поведения в объектно-ориентированные методы.

Другими значительными нововведениями были Методы объектного моделирования (OMT) Джеймса Румбо и Объектно-ориентированная программная инженерия (OOSE) Ивара Якобсона.

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

Объектно-ориентированный анализ (OOA) – это процедура определения требований к разработке программного обеспечения и разработки спецификаций программного обеспечения на основе объектной модели системы программного обеспечения, которая состоит из взаимодействующих объектов.

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

Грэди Буч определил OOA как «Объектно-ориентированный анализ – это метод анализа, который исследует требования с точки зрения классов и объектов, найденных в словаре проблемной области».

Основными задачами в объектно-ориентированном анализе (ООА) являются:

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

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

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

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

Детали реализации обычно включают в себя:

  • Реструктуризация данных класса (при необходимости)
  • Реализация методов, внутренних структур данных и алгоритмов
  • Осуществление контроля
  • Реализация ассоциаций

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

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

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

Важными особенностями объектно-ориентированного программирования являются:

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

Некоторыми примерами объектно-ориентированных языков программирования являются C++, Java, Smalltalk, Delphi, C#, Perl, Python, Ruby и PHP.

Грэди Буч определил объектно-ориентированное программирование как «метод реализации, в котором программы организованы в виде кооперативных коллекций объектов, каждый из которых представляет собой экземпляр некоторого класса, и все классы которого являются членами иерархии классов, объединенных через отношения наследования».

Добавить комментарий

Ваш адрес email не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.