[oop] overlap in classes
Ozzie PHP
05/03/2014 19:32:50M'n laatste vraag voor vandaag (hoop ik).
Ik heb een aantal classes waarin ik data opsla (bijv. een class waar de POST data in staat, of een class waar alle paden in staan, of waar de configuratie in staat). Deze classes hebben een aantal dezelfde methodes. Het gaat dan om een get(), set() en has() method.
Bijvoorbeeld:
Nu is het volgens het DRY principe niet goed om code te herhalen. Hoe kan ik dit het beste oplossen?
Ik dacht zelf aan een aparte class (bijv. DataCollection) waar dan de get, set en has method in zitten, maar misschien zijn er nog andere/beter mogelijkheden?
Is dit de juiste manier?
Ik heb een aantal classes waarin ik data opsla (bijv. een class waar de POST data in staat, of een class waar alle paden in staan, of waar de configuratie in staat). Deze classes hebben een aantal dezelfde methodes. Het gaat dan om een get(), set() en has() method.
Bijvoorbeeld:
Nu is het volgens het DRY principe niet goed om code te herhalen. Hoe kan ik dit het beste oplossen?
Ik dacht zelf aan een aparte class (bijv. DataCollection) waar dan de get, set en has method in zitten, maar misschien zijn er nog andere/beter mogelijkheden?
Code (php)
Is dit de juiste manier?
Gewijzigd op 05/03/2014 19:33:59 door Ozzie PHP
PHP hulp
23/11/2024 21:40:06Milo S
06/03/2014 08:29:50Waarom zou je niet gaan voor een abstracte klasse waar de gelijke method s in staan? Zo kun je indien nodig nog uitbreiden? Dat heb ik ook zo gedaan bij mijn DataMappers. Alle CRUD method s waren hetzelfde, er moest alleen steeds een andere factory method in...
Ozzie PHP
06/03/2014 12:54:42Hey Milo,
Wat is dan het verschil met mijn oplossing hierboven en jouw oplossing met een abstracte class?
Bij mij kan ik de DataCollection class ook "los" gebruiken, dus dat lijkt me dan handiger dan een abstracte class?
Wat is dan het verschil met mijn oplossing hierboven en jouw oplossing met een abstracte class?
Bij mij kan ik de DataCollection class ook "los" gebruiken, dus dat lijkt me dan handiger dan een abstracte class?