2

Ich bin beim Erstellen eines großen Programms in C++ für mein Unternehmen zum ersten Mal und ich möchte ein gutes Muster erstellen, um eine Verbindung zu meinem MySql db herzustellen. Ich habe diese Probleme:Wie implementiere ich eine robuste Datenpersistenzschicht in C++?

-I kann nicht entscheiden, welches Muster verwendet werden soll, DAO, Repository, UnitOfWork, Fabrik ..

-I keine gute Beispiele von Datenzugriffsmuster finden in C++ weiß ich, dass es unabhängig von der Sprache sein sollte, aber ich konnte nicht einmal ein robustes DAO Musterbeispiel mit einer guten Ausnahmebehandlung usw. finden. Üblicherweise sind nur zwei Klassen (obj1-> obj2) auf sehr kleiner Umgebung.

Wenn jemand weiß, gute Quellen oder irgendwelche Tipps werde ich sehr froh sein = D

Vielen Dank im Voraus.

Antwort

1

Mein Rat ist die Suche nach C++ ORM (Object Relational Mapping) gibt es viele ORM oder DAL-Lösungen auf Java wie Hibernate, Datanucleus, SQLite ..

Wir Datanucleus verwenden und wir sind glücklich mit ihm, aber i dont Think Datanucleus haben eine Unterstützung für C++. Imho erstellen DAL Formular Scratch ist nicht notwendig.

1

Ich hatte das gleiche Problem vor Jahren. Die Liste der ORM für C++ in Wikipedia ist sehr kurz und das vielversprechendste Produkt ist unter GPL oder Sie müssen es kaufen.

Wir entscheiden uns, unser eigenes ORM zu entwickeln. Es gibt mehrere Enterprise-Design-Muster dafür. Wir wählen die Art, wie obd verwendet: Ihre Tabellen wurden aus einfachen Klassen beschrieben. Die Persistenz und der Zugriff von Objekten werden von einem Datenbankmanager gehandhabt. Am aufwendigsten ist es, eine eigene Abfrage-Schnittstelle zu schreiben (wenn Sie nicht versuchen, clear sql in Ihrem Code einzugeben).

Verwandte Themen