Volgens mij ben je met je eigen definitie van een framework
Een verzameling van programmeer technische routines die ondersteuning bieden bij de ontwikkeling van applicaties
en de door 6-Pack aangedragen definitie
In object-oriented systems, a set of classes that embodies an abstract design for solutions to a number of related problems
er wel zo'n beetje.
Ik zie drie belangrijke voordelen van een framework:
- Het bespaart ontwikkeltijd. Je kunt immers reeds in het framework aanwezige onderdelen aanwenden.
- Het verzekert je van een uniforme look & feel. Je kunt in een aantal basisklassen standaardfunctionaliteit definiëren. Zo kun je bijvoorbeeld een basisklasse voor dialoogvensters maken, waarbij je alvast OK- en Cancel-buttons toevoegt. Je hoeft dan in de applicaties alleen nog maar te implementeren wat er gebeurt als er op zo'n button wordt geklikt.
- Het helpt de kwaliteit van applicaties verbeteren. Doordat je beproefde onderdelen in een nieuwe applicatie inbrengt (namelijk wat er in je framework aanwezig is), verzeker je je van een goed gestructureerde en redelijk bugvrije basis voor nieuwe applicaties. (Ik ga ervan uit dat het framework degelijk in elkaar zit.)
Met deze drie voordelen op een rijtje liggen meteen de uitgangspunten van het framework vast. Je kunt je framework naar believen uitbreiden, zolang je deze drie regels niet uit het ook verliest.
Wat is logisch om in een framework te stoppen?
- Herbruikbare basisklassen horen er zeker in thuis, zij nemen je immers herhaalwerk uit handen. Zo kun je bijvoorbeeld een standaard inlogscherm maken, of vensters die automatisch hun laatste positie op het scherm in het register opslaan.
- Standaardfoutafhandeling is ook iets wat erbij zou kunnen horen. Je kunt bijvoorbeeld veel voorkomende fouten afvangen en ze op een wat vriendelijkere wijze aan de gebruiker presenteren. In plaats van 'Error code 12345' kun je dan 'De database is niet bereikbaar' aan de gebruiker melden.
- Een standaard 'About'-venster met een bedrijfslogo en contactinformatie is ook zoiets wat je er in zou kunnen gooien.
- Wat een beetje verder gaat, maar veel meer meerwaarde biedt, is een standaardopzet voor applicaties maken. Stel dat het binnen jouw onderneming normaal is om een database altijd te benaderen via een object dat de toegangsrechten van gebruikers controleert. Dan kun je dat object alvast in je framework inbrengen en de rest van het framework zodanig opzetten dat dat toegangsobject eenvoudig te benaderen is. Op zo'n manier kun je alvast wat business logic in het framework inbrengen en hoef je daar voortaan niet meer over na te denken.
- Je kunt nog een stap verder gaan. Je zou een API kunnen bouwen waarin je allerlei complexe logica stopt die je in andere applicaties kunt hergebruiken. Er zijn nog tientallen varianten op dergelijke concepten te verzinnen, maar wat ik wil aangeven is dat je het framework zo uitgebreid wilt maken als je zelf wilt. Zolang het gebruik van het framework niet zondig tegen mijn drie 'basisregels', is alles mogelijk.
Het zijn zomaar een paar voorbeelden van wat er in je framework zou kunnen zitten, misschien brengt het je op ideeën.
[
Voor 17% gewijzigd door
Tomatoman op 15-09-2003 18:48
]
Een goede grap mag vrienden kosten.