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
}
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
@Marcin To trochę cyniczne, ludzie tacy jak ja przyszli tutaj po prostu z ciekawości. Nigdy nie lekceważ ciekawości. :) – Hawken