OOP functie verantwoordelijkheden

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ozzie PHP

Ozzie PHP

11/02/2013 14:21:06
Quote Anchor link
Stel ik heb een functie get($key)... ik moet een key invullen en ik krijg een waarde uit de class property $data terug.

Nu vraag ik me af... stel ik wil alles ophalen wat in de class property $data zit, wat is dan mooier/beter?

Diezelfde functie get($key) gebruiken, maar de $key optioneel maken? Dus get($key = '') in plaats van get($key)? Als ik een key invul, krijg ik de bijbehorende waarde terug en als ik geen key invul de complete inhoud van $data?

In de praktijk:

$key = get('mijn_key');
$alle_data = get();

Of is het beter om een extra functie getAll() te maken?

In de praktijk:

$key = get('mijn_key');
$alle_data = getAll();

Zijn hier "regels" voor in OOP?
 
PHP hulp

PHP hulp

28/11/2024 08:59:17
 
Wouter J

Wouter J

11/02/2013 14:46:22
Quote Anchor link
Quote:
Zijn hier "regels" voor in OOP?

OO heeft geen regels, slechts design patterns met richtlijnen en basisprincipes. En die hebben hier niet mee te maken.

Het is dus wat jij mooier vind. Ik houd van verschillende methods, sommige combineren weer alles.

Ik ga zelf voor meerdere getters omdat ik dat duidelijker vind. Als je $obj->get() aanroept dan denk ik, 'wat betekend dat nou?'. Je moet dan in de code ga kijken om door te krijgen dat je dan alle data krijgt.
Als je $obj->getAll() aanroept dan weet je al: Ha, dat betekend dat we alles krijgen!

Qua functie verantwoordelijkheden is er in beide gevallen niks mis, de functie blijft voor het ophalen van data. Of dat er nou 1, 2, 3 of alle data is maakt geen zak uit.
 
Ozzie PHP

Ozzie PHP

11/02/2013 15:17:44
Quote Anchor link
Duidelijk verhaal Wouter. Thanks very much!
 



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.