Al een tijdje ben ik gefascineerd in het MVC model. Wat is mooier dan een duidelijk scheiding tussen data en view. Zo zijn er verschillende tools in omloop. Een greep daarvan:
Commercieel
- KbMMW (http://www.components4developers.com)
- EntiyDAC (https://www.devart.com/dac.html)
- TMS Aurelius (https://www.tmssoftware.com/site/aurelius.asp)
Opensource
- Tiopf (http://tiopf.sourceforge.net/)
- Mormot (https://synopse.info/fossil/wiki/Synopse+OpenSource)
- xmm (stijn sanders / develyoy)
- MVVM framework
- livebindings (alleen delphi)
- DBRoot
Met een aantal heb ik geprobeerd mee te spelen. Maar je heel veel geduld en studie-uren nodig om het goed voor elkaar te krijgen. En nog lukt het niet. Jezelf een week opsluiten in een huisje zal kunnen wekren met veel geduld, goede documentatie en het alle belangrijkste: INTERNET.
Het doel is geheel logisch. Laat een object het werk doen en geef alleen weer wat je wilt zien. Dus niet componenten aansturen vanuit de form, maar de controller vertellen wat hij moet visualseren naar het scherm toe. Voordeel: Je scherm bevalt qua inhoud / view niet meer en doordat je alleen maar visuele componenten gebruikt, is het makkelijk om een ander scherm aan te maken of je wilt overgaan op een ander dialect zoals FMX.
Maar goed. Veel studie dus. Maar ik ben eigenwijs en wil het zelf in elkaar knopen om te snappen wat er eigenlijk gebeurt. Na een aantal artikelen te hebben gelezen en te hebben gespeeld met wat tools dacht ik bij mij zelf : Hoe moeilijk kan het zijn?. Antwoord: niet makkelijk. Maar ben er voorzichtig aan begonnen.
Wat is mijn doel?
Wij hebben op ons werk een excel document, waarin voor ons instaat op welke datum een verkooporder naar een klant wat met aanvullende informatie. Nadeel: 1 PERSOON KAN WIJZIGEN. Moet anders kunnen.
Mijn eerste basis was een export te maken van het document en kijken hoe ik dat kan visualiseren met MVC.
Vanuit de import heb ik controllers gemaakt om het dataverkeer met de componenten goed te laten communiceren. Als de data is ingelezen, kan ik het 'record' ophalen en bewerken en zelfs opslaan. Het resultaat staat in de bijlage.
Mijn volgende doel is het maken van een nieuw 'record'.
Commentaar is altijd welkom.
Wordt vervolgd......
Bookmarks