2010-11-08 14 views
17

Może ktoś mi wytłumaczyćCo to jest programowanie zorientowane na dane?

  1. Co to są dane Oriented Programming?
  2. Czy programowanie zorientowane na dane i programowanie funkcjonalne są takie same?
  3. W jaki sposób programowanie zorientowane na dane różni się od programowania zorientowanego obiektowo?
  4. W jakich okolicznościach wybieramy języki programowania zorientowanego na dane za pomocą języków programowania zorientowanych obiektowo?
+0

To wygląda na pracę domową. Jeśli tak, dodaj tag pracy domowej do wszelkich zadawanych pytań dotyczących przyszłych prac domowych; jeśli nie, możesz usunąć znacznik zadania domowego i wyjaśnić (a), dlaczego potrzebujesz tych informacji; (b) z jakich źródeł już się konsultowałeś; oraz (c) dlaczego pozostawili Państwa w stanie dezorientacji lub niedostatecznie poinformowani. – Marcin

+8

@Marcin To trochę cyniczne, ludzie tacy jak ja przyszli tutaj po prostu z ciekawości. Nigdy nie lekceważ ciekawości. :) – Hawken

Odpowiedz

0

Jak sama nazwa wskazuje, DOP ma na celu rozwój aplikacji opartych na danych. To nie jest to samo co OOP. Aby uzyskać więcej informacji, przejdź przez następujące linki;

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

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

+1

Dlaczego więc język DOP jest wybierany w stosunku do języka OOP do tworzenia aplikacji sterowanych danymi? Nie możemy utworzyć aplikacji opartej na danych przy użyciu języków OOP? – wizzardz

+1

Oczywiście możemy używać języka OOP do tworzenia aplikacji opartych na danych. Ale języki DOP zapewniają specjalne możliwości tworzenia aplikacji bazodanowych. Przejdź do pliku PDF na temat architektury zorientowanej na dane. – Mudassir

17

pierwsze chcę powiedzieć, że dane zorientowane projektowanie i programowanie oparte na danych to nie to samo!

W programowaniu obiektowym koncentrujesz się na pojedynczym obiekcie (klasa - jej metody, elementy itd.). W projektach zorientowanych na dane zastanawiasz się, jakie dane dotknęły i przetworzyły. Po prostu masz skrzynkę, która przetwarza twoje dane wejściowe na dane wyjściowe (idealne dane wejściowe są takie same jak dane wyjściowe).

Wszystko to zostało stworzone do pisania aplikacji o wysokiej wydajności. Pracujesz nad jednorodnymi, liniowymi danymi - wszystko po to, aby w pełni korzystać z pamięci podręcznej procesora (zarówno instrukcji, jak i danych).

Kiedykolwiek możesz, staraj się unikać struktur hierarchicznych (zamiast używania tablic), spróbuj napisać funkcje, które działa na wielu danych i używać gorącą i zimną struktura podziału.

zorientowane
int Foo(int* input_data, int count) 
{ 
    // do something with your data 
} 
-4

danych programowanie jest po prostu język programowania bazy danych, można utworzyć tabel i zapytań, a program manipulować danych zapisanych na nim danych przykładem są zorientowane na język SQL, dBase i Visual FoxPro.

+0

Wikipedia zawiera te języki w [liście języków zorientowanych na dane] (https://en.wikipedia.org/wiki/List_of_programming_languages_by_type#Data-oriented_languages), ale nie jestem pewien, czy lista jest dokładna. –