Can't stop (programming)
Ik draaf de laatste tijd een beetje door. Maar laten we het positief Zien: Ik barst van de motivatie en ideeën. Ik ben flink aan de weg aan het timmeren met mijn framework. Ik verzin steeds meer, en kan het amper bijhouden. Ik moet dus nog wel tijd vinden om alles af te bouwen...
Het is lastig om een definitie of korte samenvatting te geven van dit framework, wat ik op dit moment ook nog maar 'Yet Another Framework' noem. Maar misschien is het beste om te zeggen wat mijn doel is: Ik wil herhalende en niet-uitwisselbare code voorkomen. Ik wil niet iedere keer hetzelfde bouwen, en ik wil dingen die ik bouw opnieuw kunnen inzetten. En dit allemaal schaalbaar, veilig enzovoorts.
Eén van de pijlers van mijn framework is Component Based Design. Functionaliteit stop je in een component, en elk component heeft ook maar een beperkte set rollen en taken. Dit verhoogt de (kans op) uitwisselbaarheid.
Verder is modelleren heel belangrijk. Ik vind, dat je zowel je proces als je datastructuren moet kunnen modelleren, en je moet dit ook nog run-time kunnen doen. Hiervoor heb ik veel meta-informatie nodig, maar dat is geen probleem.
Ten slotte is ook uitbreidbaarheid belangrijk. Alle plekken waar je verwacht dat functionaliteit aangepast of uitgebreid moet kunnen worden, moet je in componenten stoppen, zodat je dit kunt vervangen.
En dan nog het amateuristische aspect: Ik ben nu zelf eens de opdrachtgever, en ga niet bezuinigen op de tijd/opleverdatum. Alles moet goed, of zelfs meer dan goed zijn. Natuurlijk, ik kan consessies doen of zaken vooruitschuiven, maar dit doe ik dan het liefst alleen in componenten. zodat je kunt zeggen: Als je dat wilt, dan moet je dit component vervangen. Het antwoord "dit is niet mogelijk" wil ik niet geven.
Wat me hele leuke inzichten geeft, is het modelleren van mijn framework in Excel. Ik genereer alle code met één druk op de knop in Excel, en dit hoef ik alleen nog maar door de C# compiler te halen.
Wat het uiteindelijk zou moeten opleveren, is een framework waarop je gemakkelijk applicaties kunt bouwen. Dit moet schaalbaar, veilig, robuust en uitbreidbaar zijn.
Hopelijk kom ik binnen een paar maanden met een compleet werkend geheel, van back-end tot GUI. Tot die tijd is het nog een beetje rommelen met een testproject. Maar je kunt al aardig wat!
Happy coding! ;-)
