Hoi 
Ik heb een vraag over systeemontwerp. Eigenlijk alleen uit belangstelling, omdat ik de tijd niet heb om uitgebreid aan het programmeren te gaan.
Je hebt in elke applicatie algemene taken, zoals invoercontrole, database access, misschien XML ophalen en formateren, foutmeldingen weergeven, etc.
Je hebt in elke applicatie ook applicatiespecifieke klasses. Deze hebben betrekking op de specifieke situatie waar de applicatie voor geschreven is. Zo heb je voor een bakker misschien een Taart klasse en voor een garage een "Klant" en een "Auto" klasse.
Hoe kun je je applicatie nou onafhankelijk maken van de applicatiespecifieke data? Wat ik eigenlijk wil is een applicatie waarin ik nooit een applicatiespecifieke klasse hoef te instantieren. Tenminste, niet zelf in de code. De code van mijn applicatie moet dat dynamisch doen. Ik heb zoiets op kleine schaal gemaakt met de Java reflection API. Deze API is volgens de documentatie alleen erg langzaam en niet geschikt voor stukken code die regelmatig aangesproken worden en dat is bij mij natuurlijk wel het geval. Ik ben ook een paar ORM layers tegengekomen, maar heb ze nog niet gebruikt. Zo'n ORM layer lijkt me een prachtige aanpak om je applicatie los te maken van de specifieke situatie. Maar ook hier zie ik een hoop vraagtekens bij de performance.
Ik heb een vraag over systeemontwerp. Eigenlijk alleen uit belangstelling, omdat ik de tijd niet heb om uitgebreid aan het programmeren te gaan.
Je hebt in elke applicatie algemene taken, zoals invoercontrole, database access, misschien XML ophalen en formateren, foutmeldingen weergeven, etc.
Je hebt in elke applicatie ook applicatiespecifieke klasses. Deze hebben betrekking op de specifieke situatie waar de applicatie voor geschreven is. Zo heb je voor een bakker misschien een Taart klasse en voor een garage een "Klant" en een "Auto" klasse.
Hoe kun je je applicatie nou onafhankelijk maken van de applicatiespecifieke data? Wat ik eigenlijk wil is een applicatie waarin ik nooit een applicatiespecifieke klasse hoef te instantieren. Tenminste, niet zelf in de code. De code van mijn applicatie moet dat dynamisch doen. Ik heb zoiets op kleine schaal gemaakt met de Java reflection API. Deze API is volgens de documentatie alleen erg langzaam en niet geschikt voor stukken code die regelmatig aangesproken worden en dat is bij mij natuurlijk wel het geval. Ik ben ook een paar ORM layers tegengekomen, maar heb ze nog niet gebruikt. Zo'n ORM layer lijkt me een prachtige aanpak om je applicatie los te maken van de specifieke situatie. Maar ook hier zie ik een hoop vraagtekens bij de performance.
[ Voor 5% gewijzigd door Verwijderd op 19-07-2008 00:03 ]