Прежде всего я хочу сказать, что Data-ориентированное проектирование и на основе данных программ не то же самое!
В объектно-ориентированном программировании вы фокусируетесь на одном объекте (класс - его методы, члены и т. Д.). В ориентированном на данные дизайне вы думаете, как данные касаются и обрабатываются. У вас есть только поле, которое обрабатывает ваши входные данные на ваши выходные данные (идеальные входные данные такие же, как и выходные данные)
Все это было создано для написания высокопроизводительных приложений. Вы работаете над однородными, линейными данными - все, чтобы в полной мере использовать кеш процессора (как инструкции, так и данные).
Всякий раз, когда вы можете, старайтесь избегать иерархических структур (использование массивов вместо этого), пытаются писать функции, которая работает на нескольких данных и использовать горячей и холодной расщепление.
ориентированные
int Foo(int* input_data, int count)
{
// do something with your data
}
Это выглядит как домашнее задание. Если да, добавьте тег домашней работы в любые будущие домашние задания, которые вы публикуете; если нет, не стесняйтесь удалять ярлык домашней работы и объясняйте (а), почему вам нужна эта информация; (b) какие источники вы уже консультировались; и (c) почему они оставили вас в состоянии замешательства или недостаточно информированы. – Marcin
@ Marcin Это несколько цинично, люди вроде меня пришли сюда просто из любопытства. Никогда не недооценивайте любопытство. :) – Hawken