verantwoordelijkheid get

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET Developer

Functie omschrijving Jij gaat in de functie van Software Developer werken met C# en .NET framework. Jij gaat maatwerk software ontwikkelen en softwareoplossingen creëren. Daarnaast optimaliseer je de bestaande software. Oplossingen waar de klant echt iets aan heeft, jij krijgt er energie van op dit te realiseren. Je gaat werken in een Microsoft omgeving(ASP.NET) en gebruikt daarnaast C# en MVC. Samen met het huidige IT team binnen deze organisatie verwerk je de wensen van de klant tot een (eind)product. Bedrijfsprofiel Je komt te werken in een klein team van developers, die zich voornamelijk bezighouden met back-end development. Verder staat dit

Bekijk vacature »

Ervaren Software Developer

Functie omschrijving Ben jij een ervaren Software Developer, en heb je ervaring met technieken zoals C#, MS Access & SQL? Vind jij het leuk om maatwerk software te ontwikkelen voor klanten in een specifieke branche? Dan is dit de baan voor jou! Als ontwikkelaar ben jij samen met een team van 12 collega’s verantwoordelijk voor het bouwen van nieuwe functionaliteiten en het uitbreiden van de core applicatie. Belangrijk is dat je ervaring hebt met C# en MS Access. Je bent flexibel en klantvriendelijk ingesteld, omdat het belangrijk is om de klanten zo goed mogelijk van dienst te kunnen zijn. Thuiswerken

Bekijk vacature »

Software Developer C# .NET

Functie omschrijving Zoek jij een nieuwe uitdaging binnen development waar je komt te werken binnen een flexibel, jong en ondernemend bedrijf? Wij zijn voor deze functie op zoek naar een C# .NET Developer die enthousiast wordt van het aansluiten en begeleiden van (complexe) nieuwe klanten. Verder begeleid je complexe projecten, ben jij iemand die altijd kansen ziet? Dan zoeken wij jou! Verder ga jij je bezighouden met: Het verbeteren van functionaliteiten binnen het dataplatform; Meedenken in oplossingsrichtingen; Werken aan de architectuur; Ontwikkelen van nieuwe technologieën. Bedrijfsprofiel Waar ga je werken? De organisatie waar je voor gaat werken heeft een onafhankelijk

Bekijk vacature »

Productontwikkelaar Food

Wat ga je doen Als Productontwikkelaar Food ga je nieuwe producten ontwikkelen en bestaande producten verbeteren. Je bent hierbij betrokken bij het gehele proces: van productconcept naar proefreceptuur, het realiseren va het product (op kleine schaal) en het testen van producten in een productieomgeving. Verder: Bewaak je de status van verschillende fases van productontwikkeling en lever je tijdig de benodigde data aan Ben je bezig met de optimalisatie van oude en nieuwe recepturen Begeleid of organiseer je proefsessies (sensorisch onderzoek) in het team en/of bij klanten Onderhoud je contacten met de klanten, leveranciers van grondstoffen e.a. externe partijen Houd je

Bekijk vacature »

SQL Database ontwikkelaar

Functie omschrijving Wil jij meewerken aan het creëren van slimme software om magazijnen als een geoliede machine te laten lopen? Wij zoeken een zorgvuldig persoon, iemand die niet snel de hand omdraait voor complexe algoritmes. Denk jij dat jij de SQL ontwikkelaar bent die wij zoeken? Lees snel verder en wie weet zitten we binnenkort samen aan tafel! Jouw werkzaamheden zullen er als volgt uitzien: Je houdt je bezig met het ontwerpen en ontwikkelen van MS SQL server databases, dit doe je met T-SQL als programmeer laag. Je gaat aan high-end software oplossingen werken, dit doe je voor de optimalisatie

Bekijk vacature »

Software Programmeur PHP - JAVA

Functie Heb jij altijd al willen werken voor een bedrijf, dat veilige netwerkverbindingen levert, door middel van veilige oplossingen, die door middel van de nieuwste technologieën ontwikkelt zijn? Stop dan nu met zoeken! Voor een opdrachtgever in omgeving Moordrecht zijn wij op zoek naar een programmeur. Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op

Bekijk vacature »

Applicatiebeheerder/ Ontwikkelaar

Dit ga je doen - Verantwoordelijkheid dragen voor het complexe applicatielandschap; - Schakelen met eindgebruikers en leveranciers; - Verdeling in werkzaamheden tussen dagelijks beheer ontwikkelen; - Het analyseren van de behoeften van gebruikers en het vertalen hiervan naar functionele specificaties voor de applicaties; - Actief bijdragen aan het leveren van passende oplossingen voor het applicatielandschap. Hier ga je werken Deze organisatie, gevestigd in de regio van Amsterdam is een van de meest toonaangevende mediaorganisaties in Nederland. Door de organisatiecultuur krijg jij veel ruimte om initiatief te nemen en zelfstandig aan het werk te gaan. Samen met het IT team zorg

Bekijk vacature »

Back End Developer .NET

Dit ga je doen Ontwikkelen in C# .NET en werken aan nieuwbouw, uitbouw en onderhoud van de software (die communiceren met 68.000 sensoren, waardoor er meerdere miljoenen berichten per uur verwerkt worden); Samenwerken in Scrum Teams; Meewerken aan verschillende, uitdagende projecten; Werken met nieuwe technologieën en vrijheid krijgen om jezelf te ontwikkelen en door te groeien. Hier ga je werken Je komt als Developer te werken bij een organisatie die gespecialiseerd is in software die real-time wordt gebruikt. De software constateert waar werk moet worden uitgevoerd en de chauffeurs worden met een andere applicatie hierop geattendeerd. Ook wordt er direct

Bekijk vacature »

Back end developer PHP

Functie Heb jij altijd al eens bij een bedrijf willen werken waar jij géén nummertje bent, die alleen maar uitvoerend werk doet? Dan zou je hier perfect passen! Tuurlijk, je werkt aan projecten voor grote of kleine bedrijven… Het enige verschil hier is, jouw mening telt hier écht. Jouw inbreng wordt gewaardeerd, serieus genomen en gebruikt. En vergeet niet, je werkt niet alleen aan deze projecten. Er werken in totaal ruim 25 developers en designers, onderverdeeld over 3 development teams. Voornamelijk bestaande uit Medior en Senior developers, die samen voor een inspirerende en ambitieuze omgeving zorgen. Hun visie is namelijk

Bekijk vacature »

.NET developer WO niveau voor predictive software

Bedrijfsomschrijving Dit bedrijf uit Den Bosch is om precies te zijn 15 medewerkers groot en ze ontwikkelen (predicitve) planning software. Dit doen zij voor allerlei mooie en bekende organisaties (bierbrouwerijen, gemeentes, oliemaatschappijen en diverse multinationals). Wegens meer en grotere vraag vanuit de klanten komen er nu posities vrij voor onder andere een .NET developer. Het bedrijf is goed met openbaar vervoer te bereiken. Functieomschrijving Je komt hier te werken in een team van 3 .NET developers en bent betrokken bij het gehele ontwikkelproces. Dus van idee naar ontwerp en van ontwikkeling tot testen en implementatie. Bij voorkeur ben je niet

Bekijk vacature »

Creatieve Front-end developer gezocht!

Functie Het front-end team bestaat momenteel uit 4 collega’s en is hard aan het groeien! Samen leveren jullie een essentiële bijdrage aan de applicaties die ze voor hun klanten realiseren. Je werkt in het front-end team samen met de back-end teams en product owners om te zorgen dat de applicaties een fijne gebruikerservaring opleveren. Jouw expertise zorgt ervoor dat de juiste keuzes gemaakt worden qua techniek en ontwerp, van back-end tot aan gebruiker. In samenspraak met je team bepalen jullie de beste keuze voor techniek. Ook is er altijd ruimte om nieuwe technieken te ontdekken. Eisen • Je hebt gedegen

Bekijk vacature »

SQL database developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als SQL database developer? Dit bedrijf bouwt applicaties om processen in distributiecentra te optimaliseren. Ter uitbreiding van het development team zijn wij op zoek naar een SQL database ontwikkelaar. Wil jij werken voor een groeiende werkgever in regio Breda waar jij de ruimte en tijd krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je houdt je bezig met het creëren en bouwen van MS SQL server databases; Je werkt aan innovatieve softwareoplossingen voor het verbeteren en/of vernieuwen van logistieke processen; Je gaat projecten vanaf het begin tot het

Bekijk vacature »

SQL database developer

Functie omschrijving Voor een software bedrijf in omgeving Breda zijn wij op zoek naar een SQL database ontwikkelaar. Dit bedrijf bouwt applicaties om processen in distributiecentra te optimaliseren. Ter uitbreiding van het huidige team developers zijn wij op zoek naar een SQL database ontwikkelaar. De klanten van dit groeiende bedrijf zitten door heel Europa en jouw werkzaamheden zullen er als volgt uitzien: Het samenstellen van de software op basis van de input vanuit de klant (T-SQL & C#.NET). Het bezoeken van klanten om de processen en mogelijkheden in kaart te brengen. Het ontwerpen van databases met T-SQL als programmeer laag.

Bekijk vacature »

C# .Net Developer

Dit ga je doen Het bouwen van Api's; Nieuwe oplossingen bouwen met C# .Net; De huidige software uitbouwen met C# .Net; Meewerken in projecten; Meedenken aan de toekomstplannen en verbeteringen; Onderdeel van het Scrum Team. Hier ga je werken Onze klant is een dienstverlenende organisatie voor diverse soorten organisaties in Nederland. Ze zijn van oorsprong een familiebedrijf en er is een open cultuur. Ze zijn vooruitstrevend op IT gebied en hebben een eigen inhouse development team van circa 11 man. Je komt hier te werken in het subteam .Net Core. Hier werken ze volgens scrum met de nieuwste technieken en

Bekijk vacature »

Software Developer Mendix / Maatschappelijk Betrok

Dit ga je doen Het bouwen van de Mendix applicaties in samenwerking met jouw team of zelfstandig; Werken met Scrum methodiek; Ontwikkelen van vooruitstrevende oplossingen; Meedenken over nieuwe applicaties en ontwikkelingen; On the job eigen maken van de Mendix omgeving. Hier ga je werken Deze dynamische en snelgroeiende organisatie begeeft zich in de recyclingbranche. Zij nemen op duurzame en efficiënte manier de recycling op zich. Vanwege hun snelle groei zijn zij op zoek naar een young professional die zich graag wilt ontwikkelen als Mendix Developer. Je komt te werken binnen een IT team van +/- 15 medewerkers. Het huidige ‘vaste’

Bekijk vacature »
Ozzie PHP

Ozzie PHP

11/02/2013 20:40:20
Quote Anchor link
Ola mensen,

Stel we hebben deze class:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
class Foo {

  private $data = array();

  public function getData {
    return $this->data;
  }


  public function has($key) {
    return array_key_exists($key, $this->data);
  }

}

?>


Nu gaat het om de functie has();

In het bovenstaande voorbeeld spreekt deze functie rechtstreeks de private property $data aan.

Nu weet ik dat sommigen (waaronder Wouter) het zo op zouden lossen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
class Foo {

  private $data;

  public function getData {
    return $this->data;
  }


  public function has($key) {
    return array_key_exists($key, $this->getData());
  }

}

?>


Wouter werkt met een heel strict "GET" beleid zoals hij zelf zegt. Alleen de "get()" methods mogen private properties aanspreken. Nu vraag ik me af of daar een reden voor is?

En hoe doen de anderen, buiten Wouter, dit? Gebruiken jullie ook overal een "get()" functie voor, of mag iedere method in een class de private properties aanspreken?

Wat zijn voordelen, wat zijn nadelen?

Wat ik zelf kan bedenken:
- alles via een get() method
voordeel: je weet zeker dat alleen de get() method de private property kan uitlezen
nadelen: 1) je roept telkens onnodig een extra method aan 2) meerdere functies worden afhankelijk van de get() method. Als de get() method wordt gewijzigd (bijv. qua naam) dan werken de method die van de get() method afhankelijk zijn niet meer. Ik zou denken dat daardoor je systeem "kwetsbaarder" wordt.
- rechtstreeks een private property aanspreken
nadeel: ook niet-get() methods kunnen private properties aanspreken (maar is dat erg?)
voordelen: er hoeven geen extra get() methods te worden aangeroepen (beter voor performance) en iedere functie die een private property moet uitlezen werkt op zichzelf en is dus niet afhankelijk van een get() method.

Ik ben benieuwd naar hoe jullie het doen en naar jullie argumenten.
 
PHP hulp

PHP hulp

12/05/2024 13:05:02
 
Reshad F

Reshad F

11/02/2013 22:35:00
Quote Anchor link
Ik denk dat ik het ook zoals Wouter zou doen.. een private property direct aanroepen zou ik sowieso niet doen omdat dit gewoon niet netjes oogt naar mijn mening.

En hoezo zou je de naam van de get() methode zomaar veranderen? ik bedoel je hebt het toch wel uitgedacht voor dat je deze gaat bouwen... ik denk dat het systeem juist kwetsbaarder wordt als zomaar jan en alleman erbij kan.
 
Ozzie PHP

Ozzie PHP

11/02/2013 22:41:15
Quote Anchor link
"ik denk dat het systeem juist kwetsbaarder wordt als zomaar jan en alleman erbij kan."

Dit kan dus juist niet, want alleen methods in dezelfde class kunnen bij een private property, dus niet jan en alleman.

Mij lijkt het juist dat je systeem kwetsbaarder wordt als je (onnodige) verantwoordelijkheden tussen functies creëert, waardoor die functies altijd afhankelijk zijn van een andere functie.

Dank voor je reactie en ben benieuwd of meer mensen hier een mening over hebben.
 
Reshad F

Reshad F

11/02/2013 22:59:34
Quote Anchor link
Maar wat doe je nou als je vanuit een andere klasse de variabele nodig hebt? dan kan je er natuurlijk niet bij.. Ik heb laatst op school een hele mooie term geleerd wat hier mee o.a. te maken heeft namelijk Encapsulation. in gewoon Nederlands zou je dit uitleggen als

"Je kan hiermee d.m.v. een regel code informatie uit een andere klasse halen maar deze niet bewerken/veranderen."

En wanneer je i.p.v. de getters en setters besluit om de property direct aan te roepen breek je deze principe.

een voorbeeldje van encapsulation ff snel van internet geplukt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php

class App {
     private static $_user;

     public function User( ) {
          if( $this->_user == null ) {
               $this->_user = new User();
          }

          return $this->_user;
     }

}


class User {
     private $_name;

     public function __construct() {
          $this->_name = "Visitor";
     }


     public function GetName() {
          return $this->_name;
     }
}


$app = new App();

echo $app->User()->GetName();

?>
 
Ozzie PHP

Ozzie PHP

11/02/2013 23:04:55
Quote Anchor link
Maar dat begrijp ik wel Reshad. Ik zeg ook niet dat je de get functie moet weggooien? Die heb je nodig om van buiten de class een property aan te spreken. Maar ik bedoel in de class zelf! Als een functie in de class zelf een property nodig heeft, dan zou ik die direct aanspreken, maar Wouter zou hiervoor de get() functie in diezelfde class gebruiken. Snap je?
 
Erwin H

Erwin H

12/02/2013 09:09:19
Quote Anchor link
Ik moet zeggen dat ik binnen een class niet zo strict ben als Wouter, maar op zich de gedachte erachter wel ondersteun. De reden om altijd alleen maar private properties te hebben is dat je op die manier de implementatie van een functionaliteit binnen een class open laat. Omdat de properties van buiten niet direct kunnen worden aangeroepen, ben je vrij om op enig moment bepaalde wijzigingen door te voeren. Je kan properties weghalen, toevoegen, opsplitsen, extra checks toevoegen etc. Omdat alle get en set operaties via getters en setters lopen zal dit nooit problemen opleveren voor andere classes.

Nu, dezelfde gedachtegang kan je doorvoeren naar de situatie binnen een class. Als al je methodes binnen de class ook alleen maar via getters en setters werken, dan hoef je je dus ook nooit zorgen te maken over wat er binnen de class gebeurt. Verander je de properties, dan hoef je alleen de getter en setter aan te passen en je weet weer zeker dat alles zonder problemen zal werken.
 
Ozzie PHP

Ozzie PHP

12/02/2013 09:20:55
Quote Anchor link
Erwin thanks voor je reactie. Ik ben het volkomen met je eens dat je alleen maar private properties moet gebruiken. Dus in jouw 1e alinea kan ik me volledig vinden.

Wat betreft jouw 2e alinea. Ik ben het er wederom mee eens dat alleen set() functies een private property mogen setten/wijzigen. Alleen vraag ik me af of het slim is dat overige functies die een private property willen uitlezen dit per se via de get() method moeten doen. Wat jij zegt, dat als je een property wijzigt je alleen de get functie hoeft te wijzigen klopt. Dat kan een voordeel zijn. De andere kant van het verhaal is dat alle overige functies afhankelijk worden van de get functie en er bovendien telkens een extra functie aanroep moet plaatsvinden. Weegt dit wel op tegen het voordeel vraag ik me af? Dat is dus een beetje waar ik over zit te twijfelen...
 
Erwin H

Erwin H

12/02/2013 09:27:33
Quote Anchor link
Het punt wat je voorlegt is precies waar het om gaat. In mijn ogen zou de vraag kunnen zijn: welk code blok wil je autonoom kunnen laten werken in een OOP omgeving? Is dat een class, of is dat een function?
Ik heb voor mezelf bepaald dat een class autonoom moet zijn. Elke class is verantwoordelijk voor zijn eigen handel en wandel en moet ervoor zorgen dat input correct is en output correct is. Binnen de class echter mogen er wat mij betreft afhankelijkheden zijn en mag er wat makkelijk worden omgegaan met properties en data.

Het is dus een keuze, performance kan je daarin mee laten wegen.
 
Rick van Riel

Rick van Riel

12/02/2013 09:34:24
Quote Anchor link
Ozzie ik denk dat dit heel erg afhangt van hoe je zelf het liefst werkt. Ik denk ook dat het enige voordeel dat je eruit kan halen is dat als er iets veranderd je dit maar op 1 plek hoeft aan te passen. Het telkens aanroepen van een extra functie gaat je applicatie ook niet trager maken.

Ik zou dus gewoon doen wat jijzelf het prettigste vind werken, maar wel rekening houden dat je met de get() tijd kunt besparen als je iets moet wijzigen in de properties.
 
Ozzie PHP

Ozzie PHP

12/02/2013 09:35:13
Quote Anchor link
Goed verhaal Erwin, en duidelijk uitgelegd. Zet mij ook weer even aan het denken.
Ben toch even benieuwd dan... zomaar een voorbeeldje. Wat zou jouw voorkeur hebben? De 1e of de 2e versie. En waarom?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
class Foo {

  private $data = array();

  public function getData() {
    return $this->data;
  }


  public function has($key) {
    return array_key_exists($key, $this->data);
  }


  public function getKeys() {
    return array_keys($this->data);
  }


  public function count() {
    return count($this->data);
  }

}

?>


of

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
class Foo {

  private $data = array();

  public function getData() {
    return $this->data;
  }


  public function has($key) {
    return array_key_exists($key, $this->getData());
  }


  public function getKeys() {
    return array_keys($this->getData());
  }


  public function count() {
    return count($this->getData());
  }

}

?>


Toevoeging op 12/02/2013 09:36:14:

@Rick: thanks voor je reactie!
 
Erwin H

Erwin H

12/02/2013 09:44:25
Quote Anchor link
Ik zou de eerste doen. Omdat volgens mijn keuze de afhankelijkheid binnen de class geen probleem is. Daarbij neem ik dus voor lief dat het aanpassen van het property (mocht ik dat ooit willen doen) mij extra werk op zal leveren zoals Rick ook zegt. Dat weet ik, maar dat accepteer ik.
 
Ozzie PHP

Ozzie PHP

12/02/2013 09:49:19
Quote Anchor link
Ah oké, maar dit lijkt een beetje in tegenstelling te zijn met wat je eerder zei toch?

Erwin H op 12/02/2013 09:09:19:
Als al je methodes binnen de class ook alleen maar via getters en setters werken, dan hoef je je dus ook nooit zorgen te maken over wat er binnen de class gebeurt. Verander je de properties, dan hoef je alleen de getter en setter aan te passen en je weet weer zeker dat alles zonder problemen zal werken.
 
Erwin H

Erwin H

12/02/2013 10:03:05
Quote Anchor link
Nee, het ene is een feit, het andere is een keuze. Ik heb in mijn eerdere post ook dit gezegd:
Erwin H op 12/02/2013 09:09:19:
Ik moet zeggen dat ik binnen een class niet zo strict ben als Wouter


Zoals de grote php guru Cruyff ooit al eens zei: "Elk voordeel heb z'n nadeel".
 
Ozzie PHP

Ozzie PHP

12/02/2013 10:05:52
Quote Anchor link
Haha, oké... thanks voor het meedenken. Heb weer even wat om over na te denken ;)
 
Wouter J

Wouter J

12/02/2013 17:25:34
Quote Anchor link
Dan moet ik ook nog maar even reageren, al verwoord Erwin mijn verhaal al voor het grootste deel (hoe kan het ook anders, hij is de gene die me hier over heeft laten nadenken).

Ozzie PHP:
2) meerdere functies worden afhankelijk van de get() method. Als de get() method wordt gewijzigd (bijv. qua naam) dan werken de method die van de get() method afhankelijk zijn niet meer. Ik zou denken dat daardoor je systeem "kwetsbaarder" wordt.

Ik vind dit (het feit dat je systeem "kwetsbaarder") een beetje een non-argument. Je kan zeggen dat ze afhankelijk worden van de get method, maar je kan ook zeggen dat ze afhankelijk worden van de property en dat als je die een andere naam geeft, dan werken alle functies die afhankelijk zijn van die property ook niet meer. Het systeem is dus even kwetsbaar.

Ik zou zelfs, heel stiekem, durven te beweren dat mijn methode juist een stapje minder kwetsbaar is. Stel we hebben een User klasse:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
class User
{
    private $age;

    // ...

    public function setAge($age)
    {

        $this->age = (int) $age;
    }


    public function getAge()
    {

        return $this->age;
    }
}

?>

Nu gebruikt Henk ons User systeem voor een restaurant, om simpel te checken of iemand alcohol mag drinken of niet:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
class User extends BaseUser
{
    public function isAllowedToDrinkAlcohol($minAge = 18)
    {

        return $minAge <= $this->getAge();
    }
}

?>


Nu zijn we wat maandjes verder en dan kom je erachter dat het helemaal niet slim is om de leeftijd van iemand op te slaan, maar dat het slimmer is om de geboortedatum op te slaan. Dus we passen de User klasse aan.

Nu zit Henk met een probleem, zijn code werkt niet meer. In het geval van het direct aanroepen van de properties zal je nu met een probleem zitten. Met getters niet: Wat jij doet is een backwards comptability break voorkomen door de getter te behouden:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
class User
{
    private $birthday;

    // ...

    public function getAge()
    {

        return DateTime::createFromFormat('d/m/Y', $this->getBirthday())
            ->
diff(new DateTime('now'))
            ->
y;
    }
}

?>


Nu zou het script van Henk niet gestoord worden, terwijl de $age property wel is verdwenen van de User klasse. Nog beter zou het zijn om dan in deze getter een deprecation te loggen, zodat Henk door krijgt dat hij een verouderde functie gebruikt. Hij zal dan zijn script gaan aanpassen en in een versie na de gene waarin je de $age hebt veranderd in $birthday zal je de hele getAge functie kunnen verwijderen.

Dit wordt heel veel gedaan in grote open-source projecten. Je kan nooit alles in 1 keer goed scripten, maar het is wel de bedoeling dat je dat zo goed mogelijk doet. Anders kun je andere mensen met problemen van jou complete rewrite van je project. Mocht je alsnog wat dingen veranderen, dan kun je met getters en setters even een tijdelijke oplossing maken zodat je later alles veilig kunt veranderen.
Gewijzigd op 12/02/2013 17:26:23 door Wouter J
 
Ozzie PHP

Ozzie PHP

12/02/2013 17:32:53
Quote Anchor link
Thanks Wouter daar zit ook weer wat in. En wat je zegt over de afhankelijkheid van properties vs methods... tja, da's ook wel weer waar. Misschien ga ik dan toch ook maar over op het gebruik van get() functies binnen de class :-/

Pffff, die keuzes ook altijd ;)
 



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.