Некоторые ключевые отличия между функционально-ориентированным и объектно-ориентированным подходами к проектированию систем:
1. Основа подхода:
- Функционально-ориентированный подход предполагает разбиение системы на набор взаимодействующих блоков, где каждый блок выполняет чётко определённую функцию. www.geeksforgeeks.org При таком подходе главными структурными компонентами являются функции (операции, действия, работы), которые на диаграммах связываются между собой потоками объектов. intuit.ru
- Объектно-ориентированный подход использует объектную декомпозицию, при которой статическая структура описывается в терминах объектов и связей между ними, а поведение системы описывается в терминах обмена сообщениями между объектами. intuit.ru Основными понятиями такого подхода являются объект и класс: объект — предмет или явление, имеющее чётко определённое поведение, класс — множество объектов, связанных общностью структуры и поведения. intuit.ru
2. Принцип проектирования:
- При функционально-ориентированном подходе реализуется структурный подход к проектированию по принципу «сверху-вниз»: каждый функциональный блок может быть декомпозирован на множество подфункций и так далее. intuit.ru
- При объектно-ориентированном подходе сначала выделяются классы объектов, а далее в зависимости от возможных состояний объектов (жизненного цикла объектов) определяются методы обработки (функциональные процедуры). intuit.ru Это обеспечивает наилучшую реализацию динамического поведения информационной системы. intuit.ru
3. Наглядность представления модели:
- Функциональные модели более наглядны, так как представляют систему в виде набора взаимодействующих блоков. www.geeksforgeeks.org
- Объектно-ориентированные модели уступают функциональным моделям по наглядности представления модели пользователю-заказчику. intuit.ru
4. Область применения:
- Для более регламентированных задач больше подходят функциональные модели. intuit.ru
- Для более адаптивных бизнес-процессов (управления рабочими потоками, реализации динамических запросов к информационным хранилищам) — объектно-ориентированные модели. intuit.ru