Skip to content

Технология ООП: преимущества и недостатки

Pandas edited this page Jun 17, 2017 · 4 revisions

💠Идеи ООП (Хоар, 1966, “Совместное использование кода”):

  • Инкапсуляция (объединение данных и действий над ними, или для каждого типа данных – свои функции-действия);
  • Наследование (модификация развития программы за счет надстроек; вместо изменения написаного кода – делаем над ним надстройки);
  • Организация взаимодействия между объектами; перенесение взаимодействия объектов из физического мира в программирование.

💠Два вида взаимодействия:

  • Акцессорное – вступление в контакт, получение информации от объектов (синхронное взаимодействие)
  • Событийное взаимодействие – взаимодействие, связанное с изменением состояния объекта (асинхронное взаимодействие)

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

Состояние – один из возможных вариантов условий существований объекта.

Поведение – описание объекта в терминах изменения его состояния и передача сообщений (данных) в процессе воздействия.

Индивидуальность – сущность объекта, отличающееся от других объектов.

Действие – деятельность или операция, которые должны быть выполнены над объектом.

💠Модель Мура:

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

💠Категории объектов:

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

💠Преимущества ООП:

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

💠Недостатки ООП:

  • Требуется другая квалификация
  • Резко увеличивается время на анализ и проектирование систем
  • Увеличение времени выполнения
  • Размер кода увеличивается ⁉️
  • Неэффективно с точки зрения памяти (мертвый код - тот, который не используется) ⁉️
  • Сложность распределения работ на начальном этапе
  • Себестоимость больше
Clone this wiki locally