ik ben van plan om een database abstractie laag te gaan maken. daarom heb ik eerst een hele berg artikelen en berichten gelezen over dit onderwerp. hier op GoT kwam ik een hele berg interessante ideeen en opzetten tegen, en daaruit heb ik zelf een opzet bedacht die mij geschikt lijkt.
mijn idee is als volgt:
allereerst had ik het idee om query objecten te gaan gebruiken. dit lijkt mij handig omdat ik dan stored queries kan gebruiken en omdat ik dan alleen maar een query object door hoef te geven aan mijn dbal. een query bouwen zou dan moeten geschieden via een aantal set methods van het query uobject. echter, queries kunnen nogal complex zijn en daarom zal het aantal "bouw methods" ook sterk toenemen. ik vraag me dan ook af of dit een geschikte manier is om met queries om te gaan.
verder wil ik voor mijn DBAL een factory gebruiken waarin ik aan kan geven wat voor een driver ik wil laden. dus ik zeg bijvoorbeeld tegen mijn dbal dat ik een mysql db nodig heb, dan zorgt de factory ervoor dat de mysql driver geladen wordt. dus zeg maar een soort adapter pattern.
de drivers, ookwel adapters genoemt geloof ik, zorgen vervolgens voor de database specifieke implementatie. je zegt dus tegen de adapter dat je een query uit wilt voeren en je geeft dan het betreffende query object mee als parameter. de adapter parsed vervolgens het query object en vertaalt deze naar de juiste database specifieke querystring, waarna de query uitgevoerd wordt.
wat ik met het queryresultaat ga doen ben ik nog niet helemaal over uit. waarschijnlijk wordt dat ook een resultobject oid. misschien kunnen jullie me daarover adviseren.
in ieder geval lijkt me dit wel een goede manier van aanpak. ik zou graag jullie mening horen over mijn idee. wat doe ik goed, wat doe ik fout of wat kan er anders/beter, en ben ik nog belangrijke zaken vergeten.
mijn idee is als volgt:
allereerst had ik het idee om query objecten te gaan gebruiken. dit lijkt mij handig omdat ik dan stored queries kan gebruiken en omdat ik dan alleen maar een query object door hoef te geven aan mijn dbal. een query bouwen zou dan moeten geschieden via een aantal set methods van het query uobject. echter, queries kunnen nogal complex zijn en daarom zal het aantal "bouw methods" ook sterk toenemen. ik vraag me dan ook af of dit een geschikte manier is om met queries om te gaan.
verder wil ik voor mijn DBAL een factory gebruiken waarin ik aan kan geven wat voor een driver ik wil laden. dus ik zeg bijvoorbeeld tegen mijn dbal dat ik een mysql db nodig heb, dan zorgt de factory ervoor dat de mysql driver geladen wordt. dus zeg maar een soort adapter pattern.
de drivers, ookwel adapters genoemt geloof ik, zorgen vervolgens voor de database specifieke implementatie. je zegt dus tegen de adapter dat je een query uit wilt voeren en je geeft dan het betreffende query object mee als parameter. de adapter parsed vervolgens het query object en vertaalt deze naar de juiste database specifieke querystring, waarna de query uitgevoerd wordt.
wat ik met het queryresultaat ga doen ben ik nog niet helemaal over uit. waarschijnlijk wordt dat ook een resultobject oid. misschien kunnen jullie me daarover adviseren.
in ieder geval lijkt me dit wel een goede manier van aanpak. ik zou graag jullie mening horen over mijn idee. wat doe ik goed, wat doe ik fout of wat kan er anders/beter, en ben ik nog belangrijke zaken vergeten.
Microsoft Windows: A thirty-two bit extension and graphical shell to a sixteen-bit patch to an eight-bit operating system originally coded for a four-bit microprocessor which was written by a two-bit company that can't stand one bit of competition