Jau, das hatte ich auch so verstanden. Meine Bauchschmerzen diesbezüglich lagen auch beim Hauptthread, dem ich mehr als ungerne eine unitübergreifende Magic-Super-Global spendiert hätte. Deswegen hab ich ja als aller erste Anlaufstelle die Klasse TDB, die nur statische Elemente enthält, damit man eben nicht nachher nicht so recht weiss wohin mit der Instanz, bzw. sich überhaupt ums Erzeugen/Freigeben kümmern muss.
Ziel ist hierbei übrigens die totale Entkopplung der Logik von der Datenhaltung, so weit, dass im eigentlichen Programm kein Fitzel
SQL mehr auftaucht. Wenn die
DB getauscht würde, müssten in der TDB-Klasse lediglich 6 Strings (
SQL-Prototypen quasi*) angepasst werden falls sich an der Syntax was tut, und eben das
Query-Feld gegen die entsprechende neue Zugriffskomponente getauscht werden. Im Zugriff programmseitig schaut das nachher wie eine große Collection aus, die aber immer "frisch" ist, und keinerlei Polling o.ä. bedarf.
*) Gut, es gibt auch eine Hand voll speziellerer und umfangreicherer Statements, die nicht aus den Prototypen gebildet werden, und daher auch ggf. anstünden. Aber dafür jeder auch wirklich nur ein Mal.
Ich hätte auch ehrlich gesagt angenommen, dass das Vorgehen im Groben recht üblich ist
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)