Models controllers dubbel of enkel

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Sander V

Sander V

25/11/2015 20:53:02
Quote Anchor link
Ik heb al een tijdje een framework. Maar door invloeden van andere frameworks en eigen ideen ben ik op dit moment bezig om veranderingen aan te maken in mijn framework.

Maar nu zit ik met de volgende dillema. Ik werk graag volgens MCV maar ik vraag me nu af wat het beste en het handigst is. Als je een module implementeerd is het dan handig om de front en back end goed te scheiden?

Dus twee models en controllers? (ik ga ervanuit dat je bij de view er niet echt onderuit komt dat je deze apart zijn)

Of een model en twee controllers?

Wat zijn jullie ideeen hierover.
 
PHP hulp

PHP hulp

29/03/2024 14:15:06
 
Ward van der Put
Moderator

Ward van der Put

25/11/2015 21:16:01
Quote Anchor link
>> Als je een module implementeerd is het dan handig om de front en back end goed te scheiden?

Nee, dat is meestal erg onhandig. Als het goed is, hebben je objecten geen besef van de omgeving waarin ze gebruikt worden: ze doen gewoon wat van ze gevraagd wordt, ongeacht de context.

Ik ken inderdaad ook meerdere frameworks en applicaties waarbij ze hadden bedacht dat het "wel handig" was om frontend en backend "strikt" te scheiden. Maar dat leidt vroeg of laat altijd tot problemen bij updates en refactoring: zodra je één wijziging op twéé plaatsen moet doorvoeren, deugt je ontwerp niet.

Less is more.
 
Sander V

Sander V

25/11/2015 21:30:16
Quote Anchor link
Oke so Less is more. Dus 1 model en 1 controller voor zowel front- en backend.

Oke misschien domme vraag maar hoe hou ik binnen mijn controller de scheiding tussen front- en backend functies?

Zoals ik het nu heb is 1 model en 2 controllers. Voor backend en voor front end.
Gewijzigd op 25/11/2015 21:30:49 door Sander V
 
Ward van der Put
Moderator

Ward van der Put

26/11/2015 10:19:16
Quote Anchor link
>> Zoals ik het nu heb is 1 model en 2 controllers. Voor backend en voor front end.

Dat kan, maar is vooral afhankelijk van hoe je alles aan elkaar hangt. De backend verschilt met name in drie opzichten van de frontend: de afwijkende routing, de complexere rechten en de extra functionaliteit. Dat kan (bijvoorbeeld) betekenen dat twee controllers niet gescheiden zijn, maar de backend-controller de frontend-controller extendt voor extra functionaliteit. Dus ja: twee controllers gebruiken is een goede oplossing, zolang je ze maar DRY (Don't Repeat Yourself) bouwt.

Dat is overigens makkelijker gezegd dan gedaan. Ik betrap mezelf er ook wel eens op dat ik iets dat ik eerder al heb gedaan nog een keer doe. Zo'n herhaling in je code is een moment om even rustig het geheel te overzien en te kijken of je het niet anders moet oplossen. Vaak betekent het dat een class te veel doet en je iets moet afsplitsen.
 
Sander V

Sander V

26/11/2015 11:11:55
Quote Anchor link
Dat is ook de rede dat ik nu kritisch naar mijn framework kijk. En hoe kritischer ik kijk hoe meer dillema's ik tegenkom.

Maar soms is beste manier try and error.
Gewijzigd op 26/11/2015 13:23:11 door Sander V
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.