Beste Tweakers,
Ik zit eigenlijk een beetje met een designpuntje. Momenteel heb ik net me Informatica opleiding achter de rug en ben ik bezig met een Master. Ik werk ook bij een softwarebedrijfje en eigenlijk ben ik nu een beetje op een punt gekomen dat ik de theorie van afgelopen 4 jaar en komende jaren wil gaan inzetten.
Ik zit dus vaak met zaken waar ik niet goed een beslissing kan over nemen en daarom vraag ik jullie om advies.Om het goed concreet te maken: Ik ben bezig met een c# applicatie voor mezelf waarmee ik straks wil gaan budgetteren. Nou heb ik het als volgt ontworpen:
1) DataAccess layer : Deze voert de stored procedures uit en geeft een dataset / datatable terug
2) Model layer: Deze bestaat uit objecten zoals category, transaction e.d De data access layer zet de datatables om in deze objecten
3) Guicontroller : deze handelt de acties van het formulier af
4) Gui, de windows forms
5) Andere modules, maar die zijn in dit topic niet zo van belang
Nu zit ik eigenlijk een beetje met 2 dingen :
1) De model layer werkt niet echt relaxt, controls zoals een gridview, combobox werken heel relaxt met een datatable. Echter maak ik al een extra stap in de data access layer om die data table om te zetten naar een model object, maar in de gui kan ik weer omzetten met een loopje. Terwijl ik een datatable direct aan het control hang.
2) De gui controller handelt de acties af, echter moet het uitlezen van de velden e.d gebeuren in de gui en het verwerken van de gegevens in de data access layer. De controller begint meer te lijken als een soort wrapper klasse van de data access layer. Bovendien begint er steeds meer code in de gui te komen.
Bij punt 1 ben ik geneigd om de model layer er gewoon uit te slopen. Echter weet ik vanuit de theorie dat het juist heel slim is om die er in te houden. Voor me gevoel zet ik de model laag niet goed in, of is de overhead ondergeschikt aan het feit dat het heel relaxt is om met de business objecten te werken? (de model objecten dus)
Bij punt 2 wil ik wel graag meer code in de controller klasse stoppen, echter dan wordt de binding tussen de 2 weer te groot. De validatie e.d gebeurd al wel in de controllerklasse, wat naar mijn idee goed is, echter vraag ik me af of ik nog meer moet doen.
Ik beschik dus wel over de theorie, alleen het toepassen hiervan gaat nog niet helemaal zoals ik het wil. Hopelijk kan een van jullie me weer even op het rechte pad zetten!
Ik zit eigenlijk een beetje met een designpuntje. Momenteel heb ik net me Informatica opleiding achter de rug en ben ik bezig met een Master. Ik werk ook bij een softwarebedrijfje en eigenlijk ben ik nu een beetje op een punt gekomen dat ik de theorie van afgelopen 4 jaar en komende jaren wil gaan inzetten.
Ik zit dus vaak met zaken waar ik niet goed een beslissing kan over nemen en daarom vraag ik jullie om advies.Om het goed concreet te maken: Ik ben bezig met een c# applicatie voor mezelf waarmee ik straks wil gaan budgetteren. Nou heb ik het als volgt ontworpen:
1) DataAccess layer : Deze voert de stored procedures uit en geeft een dataset / datatable terug
2) Model layer: Deze bestaat uit objecten zoals category, transaction e.d De data access layer zet de datatables om in deze objecten
3) Guicontroller : deze handelt de acties van het formulier af
4) Gui, de windows forms
5) Andere modules, maar die zijn in dit topic niet zo van belang
Nu zit ik eigenlijk een beetje met 2 dingen :
1) De model layer werkt niet echt relaxt, controls zoals een gridview, combobox werken heel relaxt met een datatable. Echter maak ik al een extra stap in de data access layer om die data table om te zetten naar een model object, maar in de gui kan ik weer omzetten met een loopje. Terwijl ik een datatable direct aan het control hang.
2) De gui controller handelt de acties af, echter moet het uitlezen van de velden e.d gebeuren in de gui en het verwerken van de gegevens in de data access layer. De controller begint meer te lijken als een soort wrapper klasse van de data access layer. Bovendien begint er steeds meer code in de gui te komen.
Bij punt 1 ben ik geneigd om de model layer er gewoon uit te slopen. Echter weet ik vanuit de theorie dat het juist heel slim is om die er in te houden. Voor me gevoel zet ik de model laag niet goed in, of is de overhead ondergeschikt aan het feit dat het heel relaxt is om met de business objecten te werken? (de model objecten dus)
Bij punt 2 wil ik wel graag meer code in de controller klasse stoppen, echter dan wordt de binding tussen de 2 weer te groot. De validatie e.d gebeurd al wel in de controllerklasse, wat naar mijn idee goed is, echter vraag ik me af of ik nog meer moet doen.
Ik beschik dus wel over de theorie, alleen het toepassen hiervan gaat nog niet helemaal zoals ik het wil. Hopelijk kan een van jullie me weer even op het rechte pad zetten!