Rozważ wspólny samouczek dla obiektowych języków programowania, takich jak C ++ lub Java: utwórz prosty system przetwarzania zamówień z obiektami reprezentującymi konta, zamówienia, przedmioty itp. (Lub coś mniej więcej równoważnego). Ma to intuicyjny sens, ale słoń przy stole jest taki, że to nie jest prawdziwe, ponieważ są to przedmioty w pamięci; w prawdziwym systemie rachunki, zamówienia itp. w rzeczywistości nie żyją w pamięci , lecz w bazie danych, a ich pamięć stanowi jedynie krótkotrwałe zwierciadło.
Możesz sam napisać dużo kodu do odczytu i zapisu z bazy danych, ale jest to tak żmudne i podatne na błędy, że tak naprawdę nikt tego nie robi.
Wszyscy ostatecznie używają ORM, ale te są tak problematyczne, że słynny artykuł nazywa ich „Wietnamem naszej branży”.
Nie sądzę, że jest to niedopasowanie między obiektem a relacją tak bardzo, jak niedopasowanie między językiem programowania a bazą danych, będące oddzielnymi rzeczami, które się nie znają . Przypuszczenie: rozwiązaniem jest posiadanie jednego języka, który jest zarówno językiem programowania, jak i językiem zapytań do bazy danych, co z kolei wymagałoby, aby językiem wykonawczym języka była również baza danych, a kompilator JIT był również optymalizatorem zapytań.
Oto podsumowanie problemów, które widzę. Moje pytanie brzmi: czy ktoś jeszcze
W rzeczywistości zbudował taki ujednolicony system
Próbowałem, ale nie udało się zbudować takiego zunifikowanego systemu
Napisałeś cokolwiek znaczącego na temat tego, jak poszedłbyś o budowaniu takich lub dlaczego lub dlaczego nie
Czy masz alternatywny sposób rozwiązania problemu?