2 tiers model vs. 3 tiers model
Beste leden,
Graag jullie mening. Wat is het grote wezenlijke verschil tussen een 2 tiers model en een 3 tiers model?
Ik ben namelijk bezig een simpele web app te maken, en lees echt tientallen tuts door mbt. hetgeen ik wil maken, maar er zit steeds een verschil in tussen 2 tiers en 3 tiers.
Vaak komt het MCV patroon naar voren, maar ook vaak gewoon back end en front end ( om het even losjes te zeggen. )
Nu ben ik al bezig geweest, maar ik maak het liefst gewoon gebruik van een 2 tiers model, omdat die controller functies mij een beetje ontgaan. Zeker in mijn huidige setup.
Dus graag jullie mening !
Groet,
Merijn
Graag jullie mening. Wat is het grote wezenlijke verschil tussen een 2 tiers model en een 3 tiers model?
Ik ben namelijk bezig een simpele web app te maken, en lees echt tientallen tuts door mbt. hetgeen ik wil maken, maar er zit steeds een verschil in tussen 2 tiers en 3 tiers.
Vaak komt het MCV patroon naar voren, maar ook vaak gewoon back end en front end ( om het even losjes te zeggen. )
Nu ben ik al bezig geweest, maar ik maak het liefst gewoon gebruik van een 2 tiers model, omdat die controller functies mij een beetje ontgaan. Zeker in mijn huidige setup.
Dus graag jullie mening !
Groet,
Merijn
Gesponsorde koppelingen:
Ik zou in ieder geval de business logic scheiden van de rest van je applicatie. Dit zodat je je hele website compleet kan omgooien zonder de bestaande database en alle toegang daartoe ook maar aan te hoeven raken. Queries verbeteren, vervangen, of zelfs geheel de database vervangen is ook geen probleem, je hoeft alleen de interface die je aan je applicatie beschikbaar stelt gelijk te houden. Verder krijg je door de duidelijke scheiding mooi de ruimte om gemakkelijk caches en andere versnellingen ertussen te zetten, en worden de "pijpleidingen" met de data uit de database blootgelegd (je interface) en als die bloot liggen, kan je daar heel gemakkelijk een muurtje van toegangscontrole tussen plakken.
Volgens mij loont het enorm om de business logic los te hebben. Tada: daar is je Model van MVC. View en Controller kan je combineren, maar zodra je templates gaat gebruiken om je applicatie-logic en presentatie-logic te scheiden, heb je ook V en C apart. Waarom zou je die twee scheiden? Omdat het overzicht geeft net als bij de scheiding van Model en de rest.
Volgens mij loont het enorm om de business logic los te hebben. Tada: daar is je Model van MVC. View en Controller kan je combineren, maar zodra je templates gaat gebruiken om je applicatie-logic en presentatie-logic te scheiden, heb je ook V en C apart. Waarom zou je die twee scheiden? Omdat het overzicht geeft net als bij de scheiding van Model en de rest.
Hmm, maar nu heb je het over grote applicaties denk ik. Ik heb gewoon een simpel klein cms idee in m`n hoofd. Geen template parser of wat dan ook.
Gewoon simpel een database connectie, met wat mogelijkheden collecties toe te voegen en dergelijke.
Daarom vraag ik ook wat jullie aanraden.
Zeker, ik zou ook het MVC pattern volgen in grotere systemen, zeker om alles gescheiden te kunnen houden, echter denk ik dat op zo`n kleine schaal niet veel uit maakt.
Bovendien hou ik wel een business logic en een view gescheiden. Echter, ja het is meer de scheiding tussen beheer en font end.
Vandaar mijn vraag
Gewoon simpel een database connectie, met wat mogelijkheden collecties toe te voegen en dergelijke.
Daarom vraag ik ook wat jullie aanraden.
Zeker, ik zou ook het MVC pattern volgen in grotere systemen, zeker om alles gescheiden te kunnen houden, echter denk ik dat op zo`n kleine schaal niet veel uit maakt.
Bovendien hou ik wel een business logic en een view gescheiden. Echter, ja het is meer de scheiding tussen beheer en font end.
Vandaar mijn vraag
Ik denk dat het hier een stukje persoonlijke voorkeur is. Bij webapplicaties is het juist scheiden van de view en controller toch al bijna niet te doen en loopt het grotendeels samen. Wat echter wel handig is, is om de presentatielogica te scheiden van je applicatielogica. In je HTML-dingen wil je geen gezeik met sessions en validaties, dit wil je apart. Dus feitelijk zou je dat in je derde tier (controller bij MVC) doen en bestaat je view puur uit weergave en het evt. aanspreken van je model. Wijzigingen op je model, na validatie, doe je dan in je controller.
Het punt is dat je zo presentatiestukken ook kan scheiden van pagina-aanroepen. Als je bijvoorbeeld een view maakt met de navigatie, dan kun je die overal tussen stoppen zonder een pagina-aanroep of interne aanroep op een stuk applicatiecode te hoeven aanroepen.
Ik zou dus gaan voor de 3-tieroplossing.
Het punt is dat je zo presentatiestukken ook kan scheiden van pagina-aanroepen. Als je bijvoorbeeld een view maakt met de navigatie, dan kun je die overal tussen stoppen zonder een pagina-aanroep of interne aanroep op een stuk applicatiecode te hoeven aanroepen.
Ik zou dus gaan voor de 3-tieroplossing.
Waarom zou je niet het mvc principe volgen? Het is immers een goeie oplossing, hoe klein je systeem ook is.


