Что такое ориентированное на данные программирование?
Может кто-нибудь объяснить мне
- Что такое ориентированное на данные программирование?
- Является ли ориентированное на данные программирование и функциональное программирование одинаковым?
- Как отличается ориентированное на данные программирование от объектно-ориентированного программирования?
- В каких обстоятельствах мы выбираем Языки, ориентированные на данные, над объектно-ориентированными языками программирования?
Ответы
Ответ 1
Сначала я хочу сказать, что ориентированный на данные дизайн и программирование, управляемое данными, не то же самое!
В объектно-ориентированном программировании вы фокусируетесь на одном объекте (класс - его методы, члены и т.д.). В ориентированном на данные дизайне вы думаете, как данные касаются и обрабатываются.
У вас просто есть поле, которое просто обрабатывает ваши входные данные для ваших выходных данных (идеальные входные данные такие же, как и выходные данные)
Все это было создано для написания высокопроизводительных приложений. Вы работаете над однородными, линейными данными - все, чтобы в полной мере использовать кеш процессора (как инструкции, так и данные).
Если вы можете, попробуйте избежать иерархических структур (вместо этого используйте массивы), попробуйте написать функции, которые работают с несколькими данными, и использовать разбиение структуры горячая и холодная.
int Foo(int* input_data, int count)
{
// do something with your data
}
Ответ 2
Как следует из названия, DOP предназначен для разработки приложений, управляемых данными. Это не то же самое, что и ООП. Для получения дополнительной информации перейдите по ссылкам:
http://www.rti.com/whitepapers/Data-Oriented_Architecture.pdf
http://en.wikipedia.org/wiki/List_of_programming_languages_by_category#Data-oriented_languages
Ответ 3
Программное обеспечение, ориентированное на данные, - это просто язык программирования с базой данных, вы можете создавать таблицы и запросы, а также управлять ими с сохраненными данными, примером ориентированного на данные языка являются SQL, DBase и Visual Foxpro.