2010-11-08 26 views
17

Quelqu'un peut-il me expliquerQu'est-ce que la programmation orientée données?

  1. ce qui est une programmation axée sur les données?
  2. La programmation orientée données et la programmation fonctionnelle sont-elles identiques?
  3. En quoi la programmation orientée données est-elle différente de la programmation orientée objet?
  4. Dans quelles circonstances choisissons-nous des langages de programmation orientés données sur des langages de programmation orientés objet?
+0

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

+8

@Marcin C'est un peu cynique, des gens comme moi sont venus ici simplement par curiosité. Ne jamais sous-estimer la curiosité. :) – Hawken

Répondre

0

Comme son nom l'indique, DOP destiné au développement d'applications pilotées par les données. Ce n'est pas la même chose que la POO. Pour plus de référence, passez par les liens suivants;

http://www.rti.com/whitepapers/Data-Oriented_Architecture.pdf

http://en.wikipedia.org/wiki/List_of_programming_languages_by_category#Data-oriented_languages

+1

Pourquoi le langage DOP est-il choisi sur le langage OOP pour la création d'Applcation basée sur les données? Ne pouvons-nous pas créer une Applcation basée sur les données en utilisant les langages POO? – wizzardz

+1

Bien sûr, nous pouvons utiliser un langage OOP pour développer des applications pilotées par les données. Mais les langages DOP offrent des fonctionnalités spéciales pour le développement d'applications de base de données. Parcourez le PDF Data Oriented Architecture pour plus de détails. – Mudassir

17

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 
} 
-4

des données de programmation orientée est tout simplement un langage de programmation avec la base de données, vous pouvez créer des tables et des requêtes, et le programme pour manipuler les données qui y sont stockées, par exemple des données en langage SQL sont orientées, dBase et Visual Foxpro.

+0

Wikipedia inclut ces langues dans sa [liste de langues orientées vers les données] (https://en.wikipedia.org/wiki/List_of_programming_languages_by_type#Data-oriented_languages), mais je ne suis pas sûr que la liste soit exacte. –