[oop] hoe consante terugkrijgen?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Junior .NET developer

Functie Ons programma is voor afgestudeerde enthousiastelingen die het als een uitdaging zien om met een klein dynamisch team bij de grootste bedrijven van Nederland aan de slag te gaan. Tijdens jouw dienstverband word jij begeleid door een talent manager. Het ontwikkelen van jouw talent staat hierbij centraal. Het programma doorloop je met een team van circa 8 Mede- trainees. De eerste maand start je met een fulltime inhouse opleiding. Deze staat geheel in het teken van de werkzaamheden die jij verder in het programma zult uitvoeren. Na deze opleidingsmaand ga je aan de slag in een dynamische omgeving bij

Bekijk vacature »

Junior / Medior C# .NET ontwikkelaar in Brabants t

Bedrijfsomschrijving Ben jij een gepassioneerde C# .NET ontwikkelaar met een voorliefde voor hardware? Dan is dit de perfecte kans voor jou! Bij ons bedrijf krijg je de kans om deel uit te maken van een team van sociale en enthousiaste techneuten die er elke dag naar streven om onze eigen ontwikkelde software nog beter te maken. Het team van ongeveer 10 team medewerkers maakt zich hard om de interne processen gestroomlijnd te laten verlopen. Functieomschrijving Als lid van ons hechte en behulpzame team word je betrokken bij diverse projecten. Daarbij krijg je te maken met data-analyses, content en de logistieke

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 »

Senior Java developer

Dit ga je doen Jouw taken als Senior Java Developer zijn: Het maken van strategische keuzes omtrent de nieuwbouw van applicaties; Het maken van technische ontwerpen; Hands-on mee ontwikkelen met het team (met o.a. Java FX, JDBC, SQL, REST, Jax-RS, JSON, Maven, JUnit en Spring (boot)); Reviewen van code en feedback geven op collega developers; Analyseren en oplossen van bugs/incidenten door het onderlinge verband te kunnen leggen van verschillende losstaande systemen. Hier ga je werken Het bedrijf waar je als Senior Java Developer komt te werken staat internationaal bekend om het testen van bodemstructuren door middel van echotechnieken en beeldherkenning.

Bekijk vacature »

Junior PHP Developer

Je maakt een vliegende start van je carrière, door meteen mee te bouwen aan de digitale aspecten van Coolblue. Wat doe je als Junior PHP Developer bij Coolblue? Als Junior PHP Developer ben je meteen vanaf de start onderdeel van een development team. Je kijkt veel mee met collega’s en volgt trainingen om te groeien als Junior Developer. Op dat moment komt je wil om steeds te blijven leren naar boven. Daarnaast pak je in de sprints ook je eigen stories op om Coolblue iedere dag een beetje beter te kunnen maken. Je sterk analytisch vermogen komt dan ook goed

Bekijk vacature »

C# .NET Software Ontwikkelaar

Functie omschrijving C# .NET Developer gezocht. Ben jij een full stack developer die op zoek is naar een nieuwe uitdaging binnen een leuk snel groeiend bedrijf? Lees dan snel verder! Wij zijn op zoek naar een Developer met ervaring op het gebied van .NET die een organisatie in de regio Arnhem gaat versterken. Jij gaat je binnen dit bedrijf vooral bezighouden met het verbeteren van de functionaliteiten van hun dataplatform. Samen met andere ontwikkelaars denk je mee in oplossingsrichtingen, architectuur en nieuwe technologieën. Als C# .NET Developer binnen dit bedrijf houd je je niet alleen bezig met het verbeteren van

Bekijk vacature »

Developer (One Data)

Do you have experience with managing IT Teams in a service delivery organization? Are you keen to bring the team and our platform to a higher level? Then Nutreco has a very interesting role for you! As a One Data developer you are responsible for the management, running and functional use of our integration landscape and processes within Nutreco. Nutreco is using at this time BizTalk 2016, and Apigee for its API management, to be replaced by Azure Integration Services as of 2023. You will be part of a virtual teams of 11 people (own and outsourced) working in an

Bekijk vacature »

Senior Front end developer Automotive Angular

Functie Als Senior Front end developer kom je te werken in een team van 11 developers. 9 van de 11 focussen zich op back end, welke is geschreven in Java, en 2 op de front end waarbij er gebruik wordt gemaakt van Typescript en Angular. De focus in deze rol ligt op 2 aspecten; doorontwikkeling van de eigen tooling en gebruik van de tooling t.b.v. klantprojecten. Momenteel zijn ze in de afrondende fase van een project waarbij ze het gehele verkoopproces van nieuwe auto’s anders ingeregeld hebben voor een grote dealer in Nederland. Waarbij Auto’s normaliter pas verkocht werden in

Bekijk vacature »

Cymer Patch Server Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Veldhoven Vacature ID: 12919 Introductie This new patch server will be built on Python and Django ReST and GraphQL services with a React frontend, it will consist of several microservices and run on a Kubernetes cluster. It will be supported by several middleware applications such as ElasticSearch, Redis, RabbitMQ, Oracle and Artifactory. Functieomschrijving The Patch Admin team always aim to deliver software at a high quality, we avoid sacrifices here to maintain our velocity. Practically this means that we practice test driven development and perform end-to-end automated testing on our software. This means

Bekijk vacature »

.NET software developer

Functie omschrijving Voor een gewilde werkgever in omgeving Roosendaal zijn wij op zoek naar een back-end software developer met een aantal jaar werkervaring. Je krijgt een plekje in het workflow team en je zal betrokken worden bij het bouwen van nieuwe software, en het optimaliseren van bestaande code. Je werkt bij dit bedrijf in een Scrum team waarin je soms klantcontact hebt. Jouw werkzaamheden zullen er als volgt uit zien: Je krijgt een plekje op de in-house IT afdeling. Deze afdeling bestaat uit zo'n 12 collega's, verdeeld over verschillende specialisaties (BI, Beheer, Business software & workflow). De vacature staat open

Bekijk vacature »

C#.NET Developer

Functieomschrijving We are looking for a dutch native speaker In deze uitdagende functie ga je werken als onderdeel van het development team, in de functie van C#.NET Developer, Je gaat maatwerk software bouwen voor diverse klanten. Ook optimaliseer je bestaande software en bouw je API koppelingen. Je bent vooral met back-end development bezig. Je krijgt veel vrijheid in deze functie en je krijgt de kans om mee te denken in bedrijfsprocessen. Deels thuiswerken is geen enkel probleem! Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Het is van oorsprong een familiebedrijf, die gestart zijn met het bouwen van

Bekijk vacature »

Team Lead Java Developer

Functie Wat ga je doen als Java developer? Als Team Lead Java Developer draag een grote verantwoordelijk je stuurt ontwikkelaars aan en staat dagelijks in contact met jou ICT Manager. De team Bestaat uit front-end en backend systemen. Je ben in staat op hoog niveau de technische vak te bepalen en ook te bewaren. Je dag zie er als volgt uit, ontwikkelen van nieuwe en bestaande applicaties, het uitvoeren van processen en analyses en het beschrijven van functioneel ontwerpen. Ook zal samen met jouw Tester applicaties gaan testen door middel van peer reviews en het leveren van support aan gebruikers

Bekijk vacature »

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 »

Full stack developer

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

Software Developer

Longship.io gaat de wereld veroveren met baanbrekende software en legendarische... pizza-avonden! Lees hier de vacature van Software Developer! Bij Longship werken we met een team van 5 mensen aan software voor laadpaal operators. Longship is ontstaan in 2020 met als doel om de elektrische mobiliteitstransitie aan te jagen. We zijn nu al een wereldwijde speler doordat we continu voorop lopen in innovatie. Ons platform helpt het versneld elektrificeren van wagenparken, internationaal! Wij zijn een startup met grote ambities die we willen bereiken met een relatief klein en efficiënt team. Je krijg de kans om ontzettend veel te leren van ervaren

Bekijk vacature »
Ozzie PHP

Ozzie PHP

30/04/2014 13:28:04
Quote Anchor link
Hey guys,

In sommige gevallen is het handig om de ISO normering aan te houden. Waarom? Omdat andere programmeurs dat ook doen, en omdat je dan precies weet wat een bepaalde waarde inhoudt.

Er zijn heel veel ISO-lijstjes en één daarvan is bijvoorbeeld een lijstje voor iemands geslacht: http://en.wikipedia.org/wiki/ISO/IEC_5218

Dat lijstje ziet er ongeveer als volgt uit:

0 = unknown
1 = male
2 = female
9 = not_applicable

Nu is dit op zich niet een heel groot lijstje, maar toch heb ik geen zin om die getallen te moeten onthouden. Dus leek het me handig om hier een interface van te maken, als volgt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
interface gender {

    const unknown       = 0;
    const male          = 1;
    const female        = 2;
    const not_appicable = 9;

}

?>

Het idee is nu dat als ik weet dat iemand een man is, dat ik dan dit kan doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$person
= new Person();
$person->setGender(gender::male);
?>

Dit lijkt me namelijk een stuk duidelijker dan dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$person
= new Person();
$person->setGender(1);
?>

Zijn jullie het met deze gedachte eens?

Nu is echter mijn vraag... stel dat ik deze persoon opsla in de database, dan staat er in de database bij "gender" dus een 1. Dat is prima, want dat willen we ook. Echter, stel nu dat ik een tijdje later de gegevens van die persoon op mijn scherm wil tonen, dan staat er dus bijvoorbeeld:

name: Ozzie
gender: 1

Is het nu mogelijk om in plaats van 1 daar dan de naam van de constante, dus "male", te tonen? Dus:

name: Ozzie
gender: male

Weet iemand of, en zo ja hoe, dat kan?

Alvast bedankt voor de reacties.
 
PHP hulp

PHP hulp

18/12/2024 18:02:37
 
LEDfan nvt

LEDfan nvt

30/04/2014 13:36:43
Quote Anchor link
Hier staat beschreven hoe je dat kan doen http://stackoverflow.com/questions/1880148/how-to-get-name-of-the-constant .
Maar kan je dit niet beter in je view regelen?
 
Wouter J

Wouter J

30/04/2014 13:43:34
Quote Anchor link
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?php

class Gender
{
    const UNKNOWN        = 0;
    const MALE           = 1;
    const FEMALE         = 2;
    const NOT_APPLICABLE = 9;

    private $gender;

    public static function __construct($gender)
    {

        if ($gender < 0 || $gender > 9) {
            throw new \InvalidArgumentException('Invalid gender.');
        }


        $this->gender = $gender;
    }


    public function getGender()
    {

        return $this->gender;
    }


    public static function parse($name)
    {

        switch (strtolower($name)) {
            case
'male': $gender = 1; break;
            case
'female': $gender = 2; break;
            case
'not applicable': $gender = 9; break;
            default:
$gender = 0; break;
        }


        return new self($gender);
    }
}


class GenderToTextTransformer
{
    public function transform(Gender $gender)
    {

        switch ($gender->getGender()) {
            case
0: return 'unknown'; break;
            case
1: return 'male'; break;
            case
2: return 'female'; break;
            case
9: return 'not applicable'; break;
        }
    }
}


$genderToText = new GenderToTextTransformer();

$wouter = new Person('Wouter', Gender::parse('male'));
$nienke = new Person('Nienke', Gender::parse('female'));
$robot  = new Person('WuutWuut', Gender::parse('unknown'));

echo 'Wouter is a '.$genderToText->transform($wouter->getGender());
echo 'Nienke is a '.$genderToText->transform($nienke->getGender());
echo 'The gender of WuutWuut is '.$genderToText->transform($robot->getGender());
?>
 
Ozzie PHP

Ozzie PHP

30/04/2014 13:43:54
Quote Anchor link
Ah ja, thanks... dat werkt inderdaad met de reflection class!

>> Maar kan je dit niet beter in je view regelen?

Hoe bedoel je dit?

Toevoeging op 30/04/2014 13:44:41:

Edit: Wouter, ik had je reactie nog niet gezien... ga nu even lezen. Zo dadelijk reactie.

Toevoeging op 30/04/2014 13:49:09:

Wouter, mooie aanpak... maar nogal complex lijkt mij. Ik denk dat de aanpak (zie link van LedFan) met een reflection class een stuk efficiënter/universeler is?
 
Wouter J

Wouter J

30/04/2014 13:59:45
Quote Anchor link
> Ik denk dat de aanpak (zie link van LedFan) met een reflection class een stuk efficiënter/universeler is?

Efficiëntie gaat het niet om in OO hè :) In mijn voorbeeldje heb ik even wat Domain Driven Development toegepast. Daardoor heb ik een Gender Value Object geintroduceerd. En 1 van de regels van Value Objects is: "Don’t use _toString() for presentation." Dus daar heb ik weer een nieuwe klasse voor geïntroduceerd. Op deze manier kun je het gender op verschillende manieren presenteren. Je zou een PresentGender interface kunnen maken en dan krijg je mooie dingen als:

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
<?php

interface PresentGender
{
    function
present(Gender $gender);
}


class AsText implements PresentGender
{
    public function present(Gender $gender)
    {

        switch ($gender->getGender()) {
            case
0: return 'unknown'; break;
            case
1: return 'male'; break;
            case
2: return 'female'; break;
            case
9: return 'not applicable'; break;
        }
    }
}


class AsUnicodeSymbol implements PresentGender
{
    public function present(Gender $gender)
    {

        switch ($gender->getGender()) {
            case
0: return 'U+26A8'; break;
            case
1: return 'U+2642'; break;
            case
2: return 'U+2640'; break;
            case
9: return 'U+2205'; break;
        }
    }
}


?>


Maar het toepassen van DDD is vaak erg overdreven en DDD experts staan zelden met beide beentjes op de grond. Je kan ook gaan voor een simpele KISS (Keep It Simple Stupid!) of YAGNI (You Aren't Gonna Need It) aanpak.
 
Ozzie PHP

Ozzie PHP

30/04/2014 14:04:33
Quote Anchor link
Wat ik eigenlijk wil voorkomen is dat die unknown, male etc. op verschillende plekken terugkomen. Het lijkt mij handiger als ik dat gewoon kan doen aan de hand van die constanten in de interface. Met die reflection class zou dat moeten lukken. Ik denk dat dat valt onder de noemer van de KISS aanpak :)
 
LEDfan nvt

LEDfan nvt

30/04/2014 15:57:33
Quote Anchor link
@ozzie wat ik bedoelde met die view is iets zoals Wouterj zij.
 



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.