Программирование, ориентированное на данные , не является новой концепцией. Это парадигма, которая применяется объектно-ориентированными разработчиками для снижения сложности создаваемых ими систем.
Цель моей книги Программирование, ориентированное на данные состоит в том, чтобы раскрыть принципы, лежащие в основе этой парадигмы, и проиллюстрировать их преимущества в контексте программной системы, написанной на объектно-ориентированном языке, таком как Java, C# или C++.
В настоящей статье описывается различие между Программированием, ориентированным на данные , и двумя другими парадигмами программирования, название которых содержит термин |/данные : Дизайн, ориентированный на данные и Программирование на основе данных .
Каждая парадигма имеет свою собственную цель и преследует ее, сосредоточив внимание на другом аспекте данных.
В информатике есть только две сложные вещи: аннулирование кэша и присвоение имен вещам. ( Фил Карлтон )
Дизайн, ориентированный на данные
Дизайн, ориентированный на данные – это подход к оптимизации программ, основанный на эффективном использовании кэша процессора, используемый в основном при разработке видеоигр.
Подход заключается в том, чтобы сосредоточиться на компоновке данных , разделении и сортировке полей в соответствии с тем, когда они необходимы, и подумать о преобразованиях данных.
В этом контексте важно то, как данные хранятся в памяти .
Цель этой парадигмы состоит в том, чтобы повысить производительность системы.
Программирование, основанное на данных
Программирование, основанное на данных – это идея, которую вы создаете языки, специфичные для конкретной области (DSL), которые составлены из описательных данных . Это ветвь декларативного программирования.
В этом контексте важно описать поведение программы в терминах данных.
Цель этой парадигмы состоит в том, чтобы повысить ясность кода и снизить риск ошибок , связанных с ошибками в реализации ожидаемого поведения программы.
Программирование, ориентированное на данные
Программирование, ориентированное на данные – это парадигма, которая рассматривает данные системы как первоклассного гражданина |/. Данные представлены общими неизменяемыми структурами данных (например, карты и векторы) которыми управляют функции общего назначения (например, карта, фильтр, выбор, группировка, сортировка …).
В этом контексте важно представление данных программой.
Цель этой парадигмы состоит в том, чтобы уменьшить сложность системы.
Резюме
Прежде чем мы завершим, я хотел бы упомянуть, что есть черновик статьи в Википедии о программировании, ориентированном на данные. Вы можете внести свой вклад в статью.
Мы увидели, что три парадигмы, связанные с данными, преследуют разные цели, и каждая из них преследует свою цель, фокусируясь на разных аспектах данных внутри программы.
Структура данных | Дизайн, ориентированный на данные | Повышение производительности |
Поведение, описываемое данными | Программирование, основанное на данных | Увеличьте ясность |
Представление данных | Программирование, ориентированное на данные | Уменьшите сложность |
Оригинал: “https://dev.to/viebel/3-programming-paradigms-that-every-object-oriented-developer-should-know-3ddn”