"Wie
een MVC model ontwerpt, denkt aan informatiestromen."
— Sam Rain
— Sam Rain
Wie een software oplossing wilt ontwerpen, zal
vaak de voorkeur hebben aan de MVC strategie: Model-View-Controller ontwerpen
zijn populair omdat ze structuur geven aan een applicatie. De 'M’ uit MVC staat
voor model — het deel van een oplossing dat verantwoordelijk is als de
abstracte laag tussen de databanken van informatie en de applicatie. In dit
artikel leggen we de loep over het ontwerpen van een 'model'.
Applicaties hebben meerdere controllers, views
en dus ook models. Informatie is losgekoppeld in industriële toepassingen — ze
is beschikbaar via de 'database'. Echter is de ene database de andere niet en
is databasespecialisme een expertise die zeer afhankelijk is van de omgeving
waarin informatie wordt opgeslagen. Een model hoeft niet perse een reflectie te
zijn van de tabellen in de database — ze wordt ontworpen voor de informatie die
de applicatie nodig heeft.
Wanneer een controller het verzoek doet aan
een model om een artikel op te vragen, voert het model de nodige werk uit dat
speciaal gericht is aan de database. Daarom is een model ook een abstractie —
het transformeert gegevens van en naar de database, zodat de controller niet
hoeft te worden aangepast wanneer er 'onder de motorkap' veranderingen plaatsvinden
in de database.
Een 'model' is daarom eigenlijk het beste te
omschrijven als een mal — het is de 'gegevensstructuur' die werkt als een
container voor controllers; een model werkt met de technische onderdelen van
een applicatie. Wie een model ontwerpt zal dus moeten beginnen met een
inventarisatie van de volgende punten:
• Welke informatie is aanwezig in de database?
• Welke informatie heeft de applicatie nodig?
• Zijn er speciale bewerkingen nodig voor de informatie gebruikt kan worden?
• Hoe dient de informatie te worden aangeleverd?
• Welke informatie heeft de applicatie nodig?
• Zijn er speciale bewerkingen nodig voor de informatie gebruikt kan worden?
• Hoe dient de informatie te worden aangeleverd?

Natuurlijk is dit een voorbeeld wat niet
gelijk staat aan de industrie. Echter is het de bedoeling van een ontwerp dat
het vooral duidelijk is wat er qua informatie beschikbaar is dat een model moet
'aanleveren'.
©SamRain
Model Ontwerpen
Model Ontwerpen
Geen opmerkingen:
Een reactie posten