[oop] controlestructuur

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Senior PHP developer

Functie Jouw werkzaamheden zullen grotendeels bestaan uit het in teamverband ontwerpen, vernieuwen en door ontwikkelen van het systeem. Het is echt back-end werk (bijvoorbeeld het doorontwikkelen van een API) en dit moet je dan ook liggen. Ze zijn niet persee gebonden aan talen of tools maar gebruiken graag de technieken die het beste aansluiten op de gegeven oplossing. Voor nieuwe (versies van) componenten maken ze veelal gebruik van Go(lang). Bij aanpassingen aan bestaande onderdelen gebeurt dit in PHP en C++. Het team is heel divers, er hangt een relaxte sfeer en ze organiseren regelmatig leuke music nights, game nights e.d.

Bekijk vacature »

Java Front-end Developer

Dit ga je doen Ontwikkelen van nieuwe functionaliteiten in Java met tools als Springboot, MS SQL Server (T-SQL) en JavaScript; Het onderhouden van de (web-)applicaties binnen een complexe omgeving; Werken aan de migratie van een monolithisch systeem naar een architectuur gebaseerd op Kubernetes; Code reviews met collega's en actieve kennisuitdelingsessies voeren; Het uitvoeren van unit- en systeemtests Experimenteren met nieuwe tools en technieken. Hier ga je werken Binnen deze organisatie kom je te werken op de afdeling die gegevens verzamelt vanuit het hele land. Denk hierbij aan vertrouwelijke persoonsgegevens. Het team verwerkt al deze data met als doel het waarborgen

Bekijk vacature »

Front-End React Developer

Als Front-End React Developer verbeter je de user experience van onze eigen webapplicaties voor onze collega's binnen Coolblue. Wat doe je als Front-End React Developer bij Coolblue? Als Front-end React Developer werk je aan de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten met React.js. Je vindt het leuk om samen te werken met de UX designer om stories op te pakken. Daarnaast ben je trots op je werk en verwelkomt alle feedback. Ook Front-end React Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen Verbeteren van de gebruiksvriendelijkheid van onze webshop

Bekijk vacature »

Medior Front-end Developer

Bij Getnoticed doen wij wat we leuk vinden, websites bouwen en online marketing. Voor veel van onze klanten doen we dan ook allebei. Wel zo fijn om campagnes te draaien voor conversiegerichte websites die in eigen beheer zijn. In onze vestiging in Nederweert zit onze development afdeling en worden de websites gebouwd. Op dit moment zijn we op zoek naar jou: dé Medior Front-end Developer die net als wij, het hoofd boven het maaiveld durft uit te steken! In het kort Even een paar punten die omschrijven wat deze toffe baan inhoudt: Het uitwerken van designs tot functionele layouts Je

Bekijk vacature »

Front-end Developer (HTML/CSS, Angular/React/Vue,

Functie Je zal aan de slag gaan in een klein, hecht team met front-end development experts die de ambitie delen mooi werk te leveren. Samen met hen zal je werken aan het gebruiksvriendelijk en interactief maken van complexe webapplicaties, websites en mobile apps. Je levert klanten wat ze nodig hebben terwijl je actief aan jezelf blijft werken met de ondersteuning vanuit je werkplek. Talen als Javascript programmeer jij vloeiend en je hebt kennis van frameworks als React en Angular. Je zou je het liefst nog veel meer ontwikkelen in verschillende front-end talen. Deze kennis deel je graag met je collega’s,

Bekijk vacature »

Freelance JAVA / C# Developer

Functieomschrijving Ben je een ervaren freelancer of werk je in loondienst en ben je toe aan een nieuwe uitdaging? Lees dan snel verder want wie weet is dit een leuke vacature voor jou! Voor een opdrachtgever in omgeving Delft zijn wij op zoek naar ervaren JAVA of C# Developers die graag op projectbasis willen werken. Je komt terecht bij een informele developers club die mooie projecten uitvoeren voor grote klanten. Het fijne van deze werkgever is dat je zelf mag beslissen hoe je te werk wilt gaan. Wil je als freelancer werken dan is dat OK. Wil je de zekerheid

Bekijk vacature »

Senior front-end developer (React)

Functie Momenteel zijn ze op zoek naar een ervaren front-end developer. Als senior werk je nauw samen met 5 collega developers. Een klein scrum team dus, met korte lijnen waardoor jouw ideeën snel tot uitvoering gebracht kunnen worden. De huidige applicaties worden veelal ontwikkeld met o.a. React, Redux, TypeScript. Ze zijn echt op zoek naar een kartrekker in het team. Naast het meedenken over, opzetten en uitvoeren van bijvoorbeeld de architectuur of toepassing van nieuwe technieken krijg je ook veel tijd om de meer junior (front-end) developers te begeleiden. Hierin nemen ze graag de tijd om mensen de ruimte te

Bekijk vacature »

Senior Organisatieontwikkelaar

Als Organisatieontwikkelaar zorg je ervoor dat we in het magazijn van Coolblue altijd vooruit voetballen op het gebied Medewerker en Organisatie Ontwikkeling. Zo draag je bij aan een toekomstbestendig magazijn waar we klanten én medewerkers elke dag blijven verwonderen. Wat doe je als Senior Organisatieontwikkelaar bij Coolblue? Als Organisatieontwikkelaar werk je voor het magazijn van Coolblue. Je krijgt er energie van om continue te bouwen aan een toekomstbestendige organisatie. Dat doe je samen met 17 collega's in het HR-team, ieder met een eigen specialisme. Je werkt graag zelfstandig en je weet snel je weg te vinden als verandermanager. Ook ben

Bekijk vacature »

Embedded Software Developer Games

Functie omschrijving Heb jij affiniteit met hardware en wil jij kleuren binnen een Qt framework? Spreek jij de talen C en of C ++? Dan ben ik wellicht opzoek naar jou! Voor een super gave opdrachtgever in omgeving Delft is er namelijk plek voor een nieuwe kracht! Dit bedrijf is gespecialiseerd in het ontwerpen van software voor een unieke game industrie. Wil jij betrokken worden bij een proces dat loopt van ontwikkeling tot installatie? Waarbij je bezig zult zijn met perfecte systemen die geleverd worden aan binnen en buitenland? Je zult in een team, samen met vier ontwikkelaars, de mooiste

Bekijk vacature »

Back-end Programmeur

Functieomschrijving Heb jij kort geleden je HBO ICT in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een ambitieuze werkgever in de regio van Breda zijn wij op zoek naar een Back-end programmeur met affiniteit met C#.NET, SQL en MS Access. Samen met team bestaand uit ware ICT professionals ben je verantwoordelijk voor het bouwen van maatwerk software voor hun klanten. Belangrijk is dat je kennis of ervaring hebt van C#.NET en SQL. Je toont een flexibele en sociale houding naar klanten toe. Je denkt in nieuwe mogelijkheden & gaat graag de uitdaging aan. Bedrijfsprofiel De

Bekijk vacature »

Web Developer

Bedrijfsomschrijving ENGIE Nederland is onderdeel van de beursgenoteerde ENGIE Groep. ENGIE is actief in 70 landen, met wereldwijd 150.000 medewerkers. Als groep is het de missie om bij te dragen aan de verduurzaming van de wereld. ENGIE Energie biedt energiediensten aan particulieren en grootzakelijk en gaat de uitdagingen van de energietransitie aan door het beschikbaar maken van duurzame energie, het streven de klimaatverandering tot een minimum te beperken, leveringszekerheid te bieden en zorg te dragen voor een verantwoord gebruik van de beschikbare resources. ENGIE Energie investeert daarom in hernieuwbare energiebronnen zoals zon, wind en bio-gas. Functieomschrijving Heb jij veel ervaring

Bekijk vacature »

Ervaren PHP ontwikkelaar

Functie Jij als PHP ontwikkelaar komt te werken in een team van 4 andere PHP ontwikkelaars. Je zult je voornamelijk bezig houden met: – Het ontwikkelen van nieuwe features – Doorontwikkelen van de API – Nadenken over de technische infrastructuur – Datakwaliteit Samen met het team ben jij verantwoordelijk voor de verdere ontwikkeling van de software en om de positie als marktleider in Europa te behouden. Ze werken volgens SCRUM in 2 wekelijkse sprints, werken met Jira voor alle tickets en communiceren veel via Slack. Eisen • Minimaal 3 jaar ervaring als back end developer • Je hebt affiniteit met

Bekijk vacature »

Back-end programmeur

Functieomschrijving Heb jij kort geleden je MBO of HBO ICT in ontvangst mogen nemen? Of ben je klaar voor een nieuw hoofdstuk in jouw carrière? Voor een uitdagende werkgever in de regio van Tilburg zijn wij op zoek naar een ambitieuze back-end programmeur met affiniteit met MS Acess. Samen met een enthousiast team ben je verantwoordelijk voor het bouwen van maatwerk software voor hun klanten. Je hebt kennis of ervaring van SQL, Maar affiniteit met MS Acess is nog belangrijker. Je bent sociaal naar klanten en flexibel ingesteld. Je denkt altijd in kansen en gaat graag de uitdaging aan. Verder

Bekijk vacature »

TypeScript developer (tot € 6.000, - bruto pe

Functie Om bovenstaande ambities waar te kunnen maken zijn ze op zoek naar een ervaren Typecript developer die niet alleen zichzelf verder ontwikkelt, maar het ook leuk vinden om op termijn meer junior collega’s op pad te helpen. Je zult aan de slag gaan met het migreren van hun bestaande UI in Angular. Maar ook het ontwikkelen van een mobiele app. Hierbij hechten ze veel waarde aan User Experience en kiezen ze duidelijk voor kwaliteit i.p.v. snelheid. Je krijgt dus de ruimte om vanuit gedegen onderzoek te werk te gaan en het borgen van kwaliteit staat hoog in het vaandel.

Bekijk vacature »

Pagina: 1 2 volgende »

Ozzie PHP

Ozzie PHP

05/05/2014 17:37:08
Quote Anchor link
Ola,

Ik heb een vraagje... ik heb een class waarin ik de naam van een constante kan ophalen. Nu had ik in 1e instantie een method waarbij telkens 2 controles plaatsvinden, en daar heb ik nu een method van gemaakt met een extra overkoepelende controle. Dit laatste heb ik gedaan om, indien de method meer dan 1x wordt aangeroepen, geen dubbele controles te hoeven uitvoeren. Ik ben benieuwd welke versie jullie beter vinden en waarom. Hieronder even 2 voorbeeldjes van hoe het ongeveer werkt.

Voorbeeld 1:

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
<?php
class Language {

    const DUTCH = 1;

    static private $languages_values;

    static public function getConstName($value) {
        if (!isset(self::$languages_values)) { // controle 1
            $ref_class              = new \ReflectionClass(self::class);
            self::$languages_values = array_flip($ref_class->getConstants());
        }

        if (!isset(self::$languages_values[$value])) { // controle 2
            thow new \Exception('de value bestaat niet!');
        }

        return self::$languages_values[$value];
    }

}

?>

In de opzet hierboven wordt telkens als je getConstName() aanroept eerst gecontroleerd of de property languages_values wel is geset, en daarna wordt gecontroleerd of de value in die array voorkomt.

Nu heb ik er dit van gemaakt:

Voorbeeld 2:

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
<?php
class Language {

    const DUTCH = 1;

    static private $languages_values;

    static public function getConstName($value) {
        if (!isset(self::$languages_values[$value])) { // extra controle
            if (!isset(self::$languages_values)) {
                $ref_class              = new \ReflectionClass(self::class);
                self::$languages_values = array_flip($ref_class->getConstants());
            }

            if (!isset(self::$languages_values[$value])) {
                thow new \Exception('de value bestaat niet!');
            }
        }

        return self::$languages_values[$value];
    }

}

?>

Ik heb er dus een extra if-statement omheen gezet, die direct al kijkt of de value bestaat. Wat vinden jullie van deze aanpak?
Gewijzigd op 05/05/2014 17:44:23 door Ozzie PHP
 
PHP hulp

PHP hulp

27/04/2024 18:57:19
 
Dos Moonen

Dos Moonen

05/05/2014 18:10:46
Quote Anchor link
Dit ziet er netter en begrijpelijker uit naar mijn idee:

http://3v4l.org/Bl4TO
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
32
33
34
35
36
37
38
39
40
41
42
<?php

namespace Ozzie;

use Exception;
use ReflectionClass;

class Language {

    const DUTCH = 1;

    private static $languages_values;

    public static function getConstName($value) {
        if (isset(self::$languages_values[$value])) {
            return self::$languages_values[$value];
        }


        throw new Exception('de value bestaat niet!');
    }


    public static function init() {
        static $initialized = false;

        if ( ! $initialized) {
            $ref_class              = new ReflectionClass(self::class);
            self::$languages_values = array_flip($ref_class->getConstants());

            $initialized = true;
        }
    }

}


// ja, dit zet je in het zelfde bestand
Language::init();

// nee, dit dan weer niet niet
echo Language::getConstName(1), Language::getConstName(42);

// phphulp only:
?>
Gewijzigd op 05/05/2014 18:31:51 door Dos Moonen
 
Ozzie PHP

Ozzie PHP

05/05/2014 19:17:54
Quote Anchor link
Dos, dan moet je dus telkens voordat je getConstNamn uitovert een init() uitvoeren?

Ik snap de init functie niet helemaal. Eerst zet je $initialized op false, en vervolgens controleer je of ie niet false is?
 
Dos Moonen

Dos Moonen

05/05/2014 19:24:00
Quote Anchor link
"Dos, dan moet je dus telkens voordat je getConstNamn uitovert een init() uitvoeren?"
Nee, maar een keer. En dan doe je in het bestand waar je de Language classe defineerd. Op die manier is Language::init() altijd uitgevoerd op het moment dat je Language::getConstName() wilt gebruiken.

"Eerst zet je $initialized op false, en vervolgens controleer je of ie niet false is?"
Ik zet initialized op false en kijk dan of ie niet true is.

http://www.phphulp.nl/php/forum/topic/name-id-description/94779/#680318 mocht je static $initialized niet snappen.
Gewijzigd op 05/05/2014 19:26:47 door Dos Moonen
 
Ozzie PHP

Ozzie PHP

05/05/2014 19:27:32
Quote Anchor link
Ik snap die static... maar je zet 'm nu toch iedere keer op false?

Toevoeging op 05/05/2014 19:28:19:

>> En dan doe je in het bestand waar je de Language classe defineerd.

Wat bedoel je hiermee? Ik definieer niks, want ik gebruik een autoloader :-s
 
Dos Moonen

Dos Moonen

05/05/2014 19:36:02
Quote Anchor link
...

Ik heb het niet over het gebruik van \define()...

Ik heb het over
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?

class foo {
  // dit is een class definition
}

// zet dit in het zelfde bestand, op die manier is het altijd uitgevoegd wanneer foo beschikbaar is
foo::init();

?>


"Ik snap die static... maar je zet 'm nu toch iedere keer op false?"
Als dat zo was zou deze code 42 keer '1' moeten printen: http://3v4l.org/13gHJ
Gewijzigd op 05/05/2014 19:37:21 door Dos Moonen
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

05/05/2014 19:37:43
Quote Anchor link
Maar we zijn weer lekker bezig.

Je gaat eerst constanten met een waarde definiëren, en daarna ga je de naam van de constante opvragen aan de hand van die waarde.

Jij bent zo van de real-time voorbeelden:
Ik heb een motor met een bepaald soort klep, ik ga eerst de motor uit elkaar halen om de naam van die zuigerklep te achterhalen.

In jouw voorbeeld met Language, moet je elke keer als je een taal wilt toevoegen je class aanpassen.
Als dat OOP is, ben ik Attila de Hun.
 
Ozzie PHP

Ozzie PHP

05/05/2014 19:46:20
Quote Anchor link
@Dos:

>> // zet dit in het zelfde bestand, op die manier is het altijd uitgevoegd wanneer foo beschikbaar is

Ah, op die fiets! Dat is inderdaad een goede truc!!! :)

* EDIT: kan dit ook bij een abstract class?

>> Als dat zo was zou deze code 42 keer '1' moeten printen

Oké... dan snap ik dus niet hoe die static werkt blijkbaar. Waarom verandert die niet van waarde? :-s

@Atilla de Hun:

>> In jouw voorbeeld met Language, moet je elke keer als je een taal wilt toevoegen je class aanpassen.

Kun je uitleggen wat je hiermee bedoelt? Hoezo moet ik m'n class aanpassen?
Gewijzigd op 05/05/2014 19:48:08 door Ozzie PHP
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

05/05/2014 19:55:25
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php

class Language {

const DUTCH = 1;
const WARTAAL = 0;

}

?>

Nu willen we English erbij, dan gaat jouw methode niet werken, want die gooit een Exception.
Gewijzigd op 05/05/2014 19:56:05 door Ger van Steenderen
 
Ozzie PHP

Ozzie PHP

05/05/2014 19:58:01
Quote Anchor link
Correct. Dan zal je die moeten toevoegen. Maar dat moet je toch altijd? Of wil jij iedere language kunnen setten ofzo? Dus dat je dit kunt doen? $language->set('DUTCH', 1) Bedoel je dat? Leg anders even uit hoe het volgens jou wél zou moeten. Daar ben ik wel benieuwd naar.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

05/05/2014 20:05:04
Quote Anchor link
Ik denk dat je het begrip constante verkeerd interpreteert.

Gegevens die dynamisch (kunnen) zijn sla je niet in de class zelf op, maar in een gegevensbestand.
 
Ozzie PHP

Ozzie PHP

05/05/2014 20:15:16
Quote Anchor link
Maar ik wil dus "value objecten" (noem je dat zo?) gebruiken, waardoor ik dus zoiets kan doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$user
= new User();
$user->setName('Ger');
$user->setGender(gender::MALE);
$user->setLanguage(language::DUTCH);
?>

Dat kan toch niet anders? Dan heb je toch constanten nodig?
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

05/05/2014 20:38:02
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<input type="select" name="language">
<option value="1">Nederlands</option>
<option value="0">Wartaal</option>
</select>

Dus jij gaat eerst je object aanspreken om die value's te presenteren, en daarna ga je nog eens een methode ontwikkelen om de bijbehorende inhoud weer te geven?

In principe ben je als je gegevens binnen een applicatie opslaat hard aan het coderen, en dat kan nooit je bedoeling zijn.
 
Ozzie PHP

Ozzie PHP

05/05/2014 20:43:03
Quote Anchor link
Maar Ger, is dat dat niet gewoon een andere manier van werken? Jij suggereert nu dat wat ik doe fout is. Ik zie echter het probleem (nog?) niet. Misschien kun je me dat dan uitleggen.

Ik vind dit:

$user->setGender(gender::FEMALE);

prettiger lezen en te begrijpen dan

$user->setGender(2);

Wat is daar dan precies verkeerd aan?
 
Wouter J

Wouter J

05/05/2014 20:43:55
Quote Anchor link
Wat jij nu hebt is geen value objecten, in value objecten:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$user
= User::hire('Ger', Gender::parse('male'), new Language('Dutch'));
?>
 
Ozzie PHP

Ozzie PHP

05/05/2014 20:54:18
Quote Anchor link
Hoe noem je de constructie die ik nu gebruik dan?
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

05/05/2014 20:56:59
Quote Anchor link
Laten we de vraag eens andersom stellen.
Wat is voor jouw het voordeel om van een iemands geslacht een object te maken?

En met alle respect voor alle ISO normen men is (of denkt) man of vrouw.

Maar je gebruikt constanten in het algemeen om een bijv. een nummer een bepaalde betekenis te geven, en niet om zomaar een hoop gegevens te genereren die je ergens anders vandaan weer moet gaan ophalen.,
 
Ozzie PHP

Ozzie PHP

05/05/2014 21:06:02
Quote Anchor link
Nou, ISO normen implementeren waar mogelijk lijkt me niet verkeerd. Daarbij is het voordeel dat als je een geslacht opslaat als 2 het minder ruimte in beslag neemt dan wanneer je het opslaat als "female". Net zoals 'de' minder ruimte in beslag neemt dan 'germany'. Die korte values besparen dus ruimte. Dat is toch een goede reden?

Kijken we dan verder... dan vind ik het handiger om te zeggen setColor(color::red) of setLanguage(language::french), dan bijv. setColor(2) en setLanguage('fre') om maar wat te noemen.

Wat is daar dan verkeerd aan? Het is toch gewoon een werkwijze die je zelf prettig vindt?
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

05/05/2014 21:11:25
Quote Anchor link
Als jij het prettig vind om als elke keer dat er een NIEUWE taal aan je website toegevoegd wordt je code aan te gaan passen ...........
 
Ozzie PHP

Ozzie PHP

05/05/2014 21:17:44
Quote Anchor link
Ja, maar gaat het je er nu om of het wel of niet "fijn" is, of doe ik ook daadwerkelijk iets verkeerd? Als die landen bijv. uit een configuratie-bestand zouden komen, is het dan wel oké?
 
Dos Moonen

Dos Moonen

05/05/2014 21:22:07
Quote Anchor link
"Maar ik wil dus "value objecten" (noem je dat zo?)"
Nee. En dat voorbeeld heeft absoluut geen value OBJECTEN.
Je hebt geen object dat het mannelijk geslacht of de Nederlandse taal voorsteld.

Je wilt alleen objecten kunnen hebben die een valide waarde vertegenwoordigen.
Je zult de waarde dus moeten valideren aan de hand van bijvoorbeeld
- hardcoded waardes (gebruik dan aub constanten, magic numbers are evil)
- geconfigureerde waardes
- magie (dit is gelukkig onmogelijk)

Op die manier kun je dan een public function setGender(Gender $gender) hebben en weten dat $gender altijd valide is.

Constanten zijn handig om magic numbers (http://en.wikipedia.org/wiki/Magic_number_%28programming%29) te voorkomen. Wat jij nu doet is magic numbers wegwerken door ze als constanten met een beschrijvende naam te defineren. Dit is een goed iets.
Maar via reflection de naam van de constante (die per conventie alleen uit hoofdletters bestaan) op te gaan zoeken i.p.v. een helper method schrijven die op basis van bijvoorbeeld een switch een tekst versie produceert is niet echt mooi.
De tekst versie van een waarde hoort naar mijn idee niet af te hangen van de variabele/constante naam die naar de waarde verwijst.

Ik weet niet of jouw constructie een naam heeft...
Gewijzigd op 05/05/2014 21:24:15 door Dos Moonen
 

Pagina: 1 2 volgende »



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.