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