Ik ken MVC uit zowel PHP als Microsoft.Net en ik moet zeggen dat ik het vooral op .Net erg lekker vind werken. Ook een tijdje met MVVM onder WPF gewerkt en dat werkte ook fijn als je het goed aanpakte. Nu lijkt er op papier precies het zelfde te bestaan voor iOS, namelijk een UIView as je View, UIViewController als je Controller en objecten gemapt naar je webservices of managed objects.
Het probleem waar ik tegen aan loop is dat in de praktijk mijn ViewController vol met UI-gerelateerde code zit zoals het uitvoeren van een animatie na een klik, het toevoegen van items in een grid vorm en de spatiering daar van en ga zo maar door. Daar tussendoor nog wat routings van clicks en delegates.
Kortom: mijn Controller weet *alles* van de View en is dus helemaal geen netjes gescheiden laag. Ook gebeuren er dus een hoop verschillende niet echt gerelateerde dingen in één class en dat is dus ook niet helemaal volgens de manier waarop ik normaliter werk met classes. Eigenlijk is het meer een soort van Code Behind van een Win- WebForms project met alle lelijke dingen die daar bij horen.
Naar mijn beleving is een goede Controller een controller die een actie ontvangt en dan de boel aan elkaar knoopt zodat de juiste View opgebouwd wordt met de juiste data, maar misschien dat ik daarmee weer iets te veel in het webdenken blijf hangen. Maar MVVM onder WPF bewijst dat je ook bij een desktop applicatie prima alles gescheiden kunt houden.
Hoe gaan jullie hier nou in de praktijk mee om?
Het probleem waar ik tegen aan loop is dat in de praktijk mijn ViewController vol met UI-gerelateerde code zit zoals het uitvoeren van een animatie na een klik, het toevoegen van items in een grid vorm en de spatiering daar van en ga zo maar door. Daar tussendoor nog wat routings van clicks en delegates.
Kortom: mijn Controller weet *alles* van de View en is dus helemaal geen netjes gescheiden laag. Ook gebeuren er dus een hoop verschillende niet echt gerelateerde dingen in één class en dat is dus ook niet helemaal volgens de manier waarop ik normaliter werk met classes. Eigenlijk is het meer een soort van Code Behind van een Win- WebForms project met alle lelijke dingen die daar bij horen.
Naar mijn beleving is een goede Controller een controller die een actie ontvangt en dan de boel aan elkaar knoopt zodat de juiste View opgebouwd wordt met de juiste data, maar misschien dat ik daarmee weer iets te veel in het webdenken blijf hangen. Maar MVVM onder WPF bewijst dat je ook bij een desktop applicatie prima alles gescheiden kunt houden.
Hoe gaan jullie hier nou in de praktijk mee om?
iOS developer