-
Notifications
You must be signed in to change notification settings - Fork 6
Технология ООП: преимущества и недостатки
Pandas edited this page Jun 17, 2017
·
4 revisions
💠Идеи ООП (Хоар, 1966, “Совместное использование кода”):
- Инкапсуляция (объединение данных и действий над ними, или для каждого типа данных – свои функции-действия);
- Наследование (модификация развития программы за счет надстроек; вместо изменения написаного кода – делаем над ним надстройки);
- Организация взаимодействия между объектами; перенесение взаимодействия объектов из физического мира в программирование.
💠Два вида взаимодействия:
- Акцессорное – вступление в контакт, получение информации от объектов (синхронное взаимодействие)
- Событийное взаимодействие – взаимодействие, связанное с изменением состояния объекта (асинхронное взаимодействие)
Объект – конкретная реализация абстрактного типа, обладающий характеристиками состояния, поведения, индивидуальности.
Состояние – один из возможных вариантов условий существований объекта.
Поведение – описание объекта в терминах изменения его состояния и передача сообщений (данных) в процессе воздействия.
Индивидуальность – сущность объекта, отличающееся от других объектов.
Действие – деятельность или операция, которые должны быть выполнены над объектом.
💠Модель Мура:
- Состоит из множества состояний, каждое состояние представляет стадию в жизненном цикле типичного экземпляра.
- Из множества событий: каждое событие представляет собой инцидент или указание на то, что происходит эволюционирование.
- Из (множества) правил перехода определяет какое новое состояние получает в следствие какого-нибудь события (событие может и не изменять объект)
- Из действий – деятельность или операция который должен быть выполнены над объектом чтобы он мог достичь состояния (каждому действию соответствует состояние).
💠Категории объектов:
- Реальные объекты – абстракция фактического существующего объекта реального мира.
- Роли – абстракции цели или назначения человека, части оборудования или организации.
- Инциденты – абстракция чего-то происшедшего или случившегося (наводнение, скачёк напряжения, выборы). -
- Взаимодействия – объекты получаемые из отношений между другими объектами (перекресток, договор, взятка). -
- Спецификации – используется для представления правил, критериев качества, стандартов (правила дорожного движения, распорядок дня).
💠Преимущества ООП:
- Возможность легкой модификации (при грамотном анализе и проектировании)
- Возможность отката при наличии версий
- Более легкая расширяемость
- «Более естественная» декомпозиция программного обеспечения, которая существенно облегчает его разработку.
- Сокращение количества межмодульных вызовов и уменьшение объемов информации, передаваемой между модулями.
- Увеличивается показатель повторного использования кода.
💠Недостатки ООП:
- Требуется другая квалификация
- Резко увеличивается время на анализ и проектирование систем
- Увеличение времени выполнения
- Размер кода увеличивается
⁉️ - Неэффективно с точки зрения памяти (мертвый код - тот, который не используется)
⁉️ - Сложность распределения работ на начальном этапе
- Себестоимость больше