D'abord, je veux dire que la conception orientée données et la programmation axée sur les données ne sont pas la même chose!
Dans la programmation orientée objet, vous vous concentrez sur un seul objet (classe - ses méthodes, ses membres, etc.). Dans la conception orientée données, vous pensez à la façon dont les données ont été touchées et traitées. Vous avez juste une boîte qui traite simplement vos données d'entrée à vos données de sortie (les données d'entrée idéales est la même que la sortie)
Tout cela a été créé pour écrire des applications de haute performance. Vous travaillez sur des données homogènes et linéaires, le tout pour profiter pleinement du cache CPU (à la fois des instructions et des données).
Chaque fois que vous pouvez, essayez d'éviter les structures hiérarchiques (utiliser des tableaux à la place), essayez d'écrire des fonctions qui fonctionne sur plusieurs données et utiliser chaud et froid séparation de structure.
int Foo(int* input_data, int count)
{
// do something with your data
}
Cela ressemble à des devoirs. Si oui, s'il vous plaît ajouter l'étiquette de devoirs à toutes les futures questions de devoirs que vous postez; Si ce n'est pas le cas, n'hésitez pas à retirer l'étiquette de devoirs et expliquez (a) pourquoi vous avez besoin de cette information; (b) quelles sources avez-vous déjà consultées; et (c) pourquoi ils vous ont laissés dans un état de confusion ou insuffisamment informés. – Marcin
@Marcin C'est un peu cynique, des gens comme moi sont venus ici simplement par curiosité. Ne jamais sous-estimer la curiosité. :) – Hawken