Stellen Sie sich ein allgemeines Tutorial für objektorientierte Programmiersprachen wie C ++ oder Java vor: Erstellen Sie ein einfaches Auftragsverarbeitungssystem mit Objekten, die Konten, Aufträge, Artikel usw. darstellen (oder etwas mehr oder weniger Äquivalentes). Macht vollkommen intuitiv Sinn, aber der Elefant am Esstisch ist, dass es nicht real ist, weil dies in Erinnerung bleibende Objekte sind; In einem realen System leben Konten, Bestellungen usw. nicht in erster Linie im Speicher , sondern in einer Datenbank, wobei die Speicherdarstellung nur ein kurzlebiger Spiegel davon ist.
Sie könnten selbst viel Code schreiben, um ihn aus der Datenbank zu lesen und zu schreiben, aber das ist so mühsam und fehleranfällig, dass es tatsächlich niemand tut.
Am Ende benutzt jeder ein ORM, aber diese sind für sich genommen so problematisch, dass eine berühmte Zeitung sie als "Vietnam unserer Branche" bezeichnet.
Ich denke nicht, dass dies eine Nichtübereinstimmung zwischen Objekt und Relational ist , sondern vielmehr eine Nichtübereinstimmung zwischen der Programmiersprache und der Datenbank, da es sich um separate Dinge handelt, die nichts voneinander wissen . Vermutung: Die Lösung besteht darin, eine einzige Sprache zu haben, die sowohl die Programmier- als auch die Datenbankabfragesprache ist. Dies würde wiederum erfordern, dass die Sprachlaufzeit auch die Datenbank und der JIT-Compiler auch das Abfrageoptimierungsprogramm ist.
Das ist also die Zusammenfassung der Probleme, die ich sehe. Meine Frage ist, hat noch jemand,
Eigentlich ein solches einheitliches System gebaut
Versuchte, aber es gelang ihm nicht, ein solches einheitliches System aufzubauen
Hat etwas Wesentliches über das Thema geschrieben, wie Sie so etwas bauen würden oder warum oder warum nicht
Einen alternativen Weg finden, um das Problem zu lösen?