Datamapper

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Java Developer / Redesign / Complex / Overheid

Functieomschrijving Wil jij je als Java Developer bezighouden met complexe materie, jouw kennis van Java inzetten in een groot Europees project en compleet nieuwe modules bouwen met behulp van Java? Lees dan snel verder! (Door-)ontwikkelen van de applicaties; Redesignen van bestaande modules; Uitvoeren van Unit testen; Requirements omzetten naar ontwerpen; Afstemmen met de klant/eindgebruikers. Functie-eisen Hbo werk- en denkniveau; Minimaal drie jaar relevante werkervaring; Kennis van minimaal Java 8; Ervaring met CI/CD, Docker, Kubernetes en SAML is mooi meegenomen; Je bent communicatief vaardig en houdt het security aspect goed in de gaten. Bedrijfsomschrijving Bij deze overheidsinstantie zal je terecht komen

Bekijk vacature »

Team Lead PHP

Als Tech Lead zorg voor een glimlach op het gezicht van onze klanten door geweldige software af te leveren. Hoe word ik Team Lead PHP bij Coolblue? Als Team Lead PHP bouw en leid je een team dat uitblinkt in het leveren van hoogwaardige en kostenefficiënte software. Je ondersteunt teamleden bij het afbakenen van hun doelen en met de aanpak om ze te behalen. Als Tech Lead zorg voor een glimlach op het gezicht van onze klanten door geweldige software af te leveren en een effectief team op te bouwen. ‘’Ook Team Lead PHP worden bij Coolblue? Else de Boer

Bekijk vacature »

Lead Software Developer (NL)

Lead Software Developer (NL) Den Haag HBO/WO IT Professional "Als Technisch Lead impact maken op de groeiende E-commerce markt met onze logistieke software. Je doet dit door technisch sturing te geven aan het team en ontwikkeling van onze Cloud IT-platformen en Open Source software-oplossingen gebouwd in of C#, Java, Javascript, Typescript, Python of Mobile op Android. Dit vraagt om een rolmodel en tech leiderschap". Wat ga je doen? PostNL is becoming a postal tech company. Als Lead Software Developer ben je de tech lead van een multidisciplinair Business-IT-team bestaande uit onder andere Developers en Solution Consultants. Je zult verantwoordelijk worden

Bekijk vacature »

SAP S/4 Digital EAM Consultant

SAP S/4 Digital EAM Consultant (PM, CS, PS, FSM, AIN) As an SAP S/4 Digital EAM Consultant you will assess, design and deliver a full end-to-end digital experience to our asset intensive clients for Enterprise Asset Management processes. You will use your SAP S/4 experience to collaborate with our clients in advising and ultimately transforming them into the new SAP era of intelligent assets. You will align the client’s strategic vision for Operational Excellence with SAP S/4 EAM as the key enabler in combination with SAP Asset Intelligence Network (SAP AIN), Asset Strategy and Performance Management (SAP ASPM) and Predictive

Bekijk vacature »

.NET Developer / C# / miljarden berichten / Zorgse

Functieomschrijving Zit jij aan je plafond als .NET C# Developer? Wil jij de stap maken naar dé .NET software organisatie van Tilburg? Lees dan nu verder! Bedrijfsomschrijving werken bij een organisatie waar je met het volgende in aanraking komt: High-intensity dataverkeer, meer dan 2,7 miljard berichten per jaar; Development aan .NET applicaties die maandelijks miljoenen euro's verwerken; Salaris als developer tot bijna 70.000 euro op jaarbasis; Geen partij in de omgeving van Tilburg die zo'n complex .NET applicatielandschap heeft; Werken aan meer dan 50 diensten, verdeeld over 10 Scrum teams; Focus op o.a.: C# en ASP.NET in een Agile organisatie;

Bekijk vacature »

lead developer ServiceNow

Locatie DIEMEN Functieomschrijving Bij de grootste HR service organisatie ter wereld sta je met 5.500 medewerkers en 80.000 flexkrachten in Nederland voor een grote uitdaging. Bij zoveel informatie is het belangrijk dat deze op de juiste plek terecht komt en onze werkprocessen en de IT op elkaar aansluiten. Daarom zijn wij op zoek naar iemand die business wensen kan omzetten naar technische oplossingen. Je maakt niet alles technische analyses, maar denkt ook mee over de mogelijke impact op andere processen en systemen, en bouwt uiteraard de oplossing zelf. Als developer ServiceNow (technical Lead Work Processes) bouw jij de oplossingen die

Bekijk vacature »

Webdeveloper

Functieomschrijving Voor een detacheerder in de ICT, gevestigd in Delft, zijn we op zoek naar iedereen met kennis van programmeertaal. Dit bedrijf heeft opdrachten bij verschillende organisaties, denk aan front-end, back-end, embedded systems, mobiele apps en data science. Naast bovenstaande kennis kan jij collega's motiveren en enthousiasmeren met daarbij efficiëntie en kwaliteit hoog in het vaandel. Aangezien je soms in een project werkt is samenwerken met andere ontwerpers, programmeurs en interactiedeskundigen niet weg te denken. Tot slot is het belangrijk dat jij van afwisseling houdt en snel werkzaamheden op pakt. Jij vindt werken op projectbasis leuk! Het zou ook zomaar

Bekijk vacature »

Back-end PHP Developer / Maatschappelijk betrokken

Functieomschrijving Ben jij een developer die de volgende stap in zijn carrière wilt maken? Wijk jij niet uit voor precisie werk in een open en informele omgeving? Lees dan snel verder en reageer! Her- en uitbouwen van het inhouse softwareplatform dmv PHP; Onderhouden van bovengenoemd platform in PHP; Sparren met het team; Meedenken over nieuwe functionaliteiten, security etc; Jouw input leveren aan het proces door op de hoogte te blijven van nieuwe ontwikkelingen etc. Functie-eisen Afgeronde HBO of WO opleiding, liefst in de richting van Informatica; Je hebt minimaal 3 jaar ervaring als PHP Developer; Je hebt ervaring met object

Bekijk vacature »

Oracle Developer PL/SQL APEX

Functieomschrijving Heb jij je altijd al willen verdiepen in Oracle APEX of kent Orale APEX geen geheimen meer voor jou? En vind jij het leuk om naast het Oracle ontwikkelwerk veel met de business te schakelen? Lees dan snel verder! Ontwikkelen nieuwe business applicaties; Verbeteren van bestaande business applicaties; Opbouwen van user interfaces; Requirements vergaren vanuit de business; Maken en uitwerken van een technisch ontwerp. Functie-eisen Hbo werk- en denkniveau Goede kennis van PL/SQL; Basiskennis van Oracle APEX; Je bent bekend met SOAP/REST/Webservices; Je kan je kritisch opstellen en ben communicatief sterk! Bedrijfsomschrijving Als je altijd al in een Europees

Bekijk vacature »

PHP Healthcare vacature, top voorwaarden!

php, developer, amersfoort Functieomschrijving Ik zoek voor mijn klant een Senior PHP ontwikkelaar met framework ervaring. Ze werken hier met Zend Framework echter als jij ervaring hebt met een ander framework dan is dat ook prima. Bij dit bedrijf zijn er op het moment een aantal interessante ontwikkelingen gaande waarbij er een nieuw team gaat ontstaan. Voor dit team zoek ik een ervaren / Senior PHP developer die graag zijn kennis wil delen met zijn collega's. Ze werken veel remote vanuit huis echter met het OV zijn ze ook heel goed aan te reizen. Tevens is parkeren nabij het kantoor

Bekijk vacature »

IT Engineer

Castor Marine levert wereldwijd SATCOM en IT diensten voor de maritieme sector. Onze klanten zijn actief in de commerciële zeevaart, offshore en superjachten. SATCOM is onze corebusiness. Daarnaast leveren we oplossingen voor de complete IT aan boord. Wij bieden 24/7 wereldwijde support om klanten de best mogelijke service te bieden. Ons hoofdkantoor bevindt zich in De Meern. Daarnaast hebben we vestigingen in Groningen en Nice (Frankrijk). Voor het SATCOM en IT team in Groningen zijn we op zoek naar een ervaren IT engineer (M/V fulltime) Als IT engineer support je onze klanten wereldwijd en lever je een bijdrage aan onze

Bekijk vacature »

Senior applicatieontwikkelaar

Ben jij een gedreven applicatieontwikkelaar met minimaal drie jaar werkervaring? En wil je een uitdagende baan met impact én jezelf breed ontwikkelen? Bij UPS bouw je mee aan complexe systemen die wereldwijd worden gebruikt en krijg je alle ruimte om nóg beter te worden in je vak. Dit ga je doen In een dynamisch scrumteam werk je aan de hand van processen en technologieën zoals CI/CD en DevOps aan het behalen van jullie doelen. Je bent betrokken bij alle facetten van applicatieontwikkeling: van ontwerpen en bouwen tot testen en implementeren. Je levert ontwerpen die passen bij de onderliggende frameworks en

Bekijk vacature »

Senior Software Developer

Maak jij de cloud oplossing van Sigmax klaar voor opschaling? Zij zoeken een Senior Software Developer Functie omschrijving Zie jij het als een uitdaging om onze cloudoplossing verder door te ontwikkelen, waarbij security, usability en het schaalbaar houden van de oplossing tot je primaire takenpakket hoort? Met andere woorden ben jij in staat om samen met het softwareteam onze cloudoplossing gereed te maken voor opschaling naar meer dan 1000 klanten, zonder dat ons softwareteam daarvoor verder hoeft uit te breiden? Als Senior Software Developer ga jij je bezighouden met ASP.NET MVC, een N-Tier architectuur, SQL Server, multi-tenant, multi-language en encryptie.

Bekijk vacature »

Technical Lead Developer met doorgroei mogelijkhed

Voor een toonaangevende specialist in softwareoplossingen gericht op strategisch portfolio management ben ik op zoek naar een ambitieuze Technical Lead. De applicatie is volop in ontwikkeling. Zo worden er vele nieuwe functionaliteiten toegevoegd in .Net Core en staat een migratie naar de Azure op de planning. Om deze ontwikkeling te begeleiden en het team aan te sturen, zijn ze op zoek naar een ambitieuze Technical Lead. Wat je gaat doen: Een roadmap maken voor de komende jaren De juiste architectuur neerzetten, hands-on ontwikkelen (front-end en back-end) De migratie naar Azure begeleiden Het 8-koppige ontwikkel team inhoudelijk aansturen en coachen Communicatie

Bekijk vacature »

Senior Mobile Developer vacature

Senior Mobile Developer Currently we are specific looking for professionals who speak fluently Dutch on C1 level. Op bijna elke mobiele telefoon in Nederland is wel een app te vinden die door Sogeti is ontwikkeld of waar Sogeti aan mee heeft gewerkt. Wil jij meehelpen met het ontwikkelen van mobiele applicaties voor de top van het Nederlandse bedrijfsleven? Als Senior Mobile Developer ben jij verantwoordelijk voor het implementeren en testen van nieuwe features. Je bent medeverantwoordelijk voor de codebase en moet deze code dus ook goed onderhouden. Doordat je thuis bent in het mobiele landschap kun je gemakkelijk sparren met

Bekijk vacature »
Pim -

Pim -

17/01/2011 12:53:15
Quote Anchor link
Wat is in de volgende situatie de mooiste manier om associaties (1-veel, veel-1, veel-veel) te regelen met een niet-generieke datamapper?

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

// Plain-old-php-object: geen DB interactie oid
class User
{
    // Var, 1-1, 1-meer, meer-meer
    protected $email, $address, $group, $permissions;

    public function set/getEmail($email);
    public function setAddress(Address $address);
    public function getAddress();
    public function setGroup(Group $group);
    public function getGroup();

    // Even de ACL in de User
    public function setPermissions(array $permissions);
    public function addPermission(Permission $permission);
    public function isAllowed($action);

}


class UserMapper extends Mapper
{
    public function findById($id);
    public function save(User $user);
    public function insert(User $user);
}

?>

Iemand een suggestie? En dan het liefst niet alles eager-loading...
Gewijzigd op 17/01/2011 20:03:41 door Pim -
 
PHP hulp

PHP hulp

29/09/2020 05:40:03
 
Pim -

Pim -

18/01/2011 14:31:01
Quote Anchor link
bump
Gewijzigd op 19/01/2011 11:19:08 door Pim -
 
Niels K

Niels K

21/01/2011 20:43:33
Quote Anchor link
Tja dat is een goede. Zou zelf één twee drie ook niet de beste oplossing weten.
Zodra jij een mooie oplossing hebt gevonden zou je die dan willen plaatsen?
 
Pim -

Pim -

21/01/2011 21:02:06
Quote Anchor link
Is goed hoor.
Ik kan het alleen echt nergens op internet vinden en hier weet volgens mij ook niemand er iets zinnigs over te melden.
 
The Force

The Force

21/01/2011 21:04:28
Quote Anchor link
Kijk eens naar http://stensi.com/datamapper/. Niet dat je dat moet gebruiken, maar hun manier voldoet wel aan jouw voorwaarden :).
 
Pim -

Pim -

21/01/2011 21:10:18
Quote Anchor link
class User extends DataMapper {
is een active record... Leuke naamgeving.

Verder ben ik meer op zoek naar een niet-generiek systeem met slechts een paar klassen. Anders gebruik ik wel Doctrine2 oid.
 
The Force

The Force

21/01/2011 21:19:11
Quote Anchor link
Met slechts een paar klassen dan zou je eigenlijk een generiek systeem moeten hebben toch? Als ie niet generiek is moet je overal klassen voor maken. En de Datamapper die ik aandraag is geen Active Record, het is een datamapper waarin je active record style data kan selecteren.
 
Pim -

Pim -

21/01/2011 21:27:02
Quote Anchor link
Maar het leuke van een DataMapper is toch dat je domain objects (User) niets met de opslag te maken hebben. Als dat wel zo is, is het toch gewoon een active record? Ik zie ook nergens in de documentatie een object buiten het domain object waarmee je voor de opslag communiceert.

En met niet-generiek bedoel ik iets als:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
class UserMapper extends Mapper
{
    public function loadFromId($id)
    {

        $data = $this->db->select('user', 'id=?', $id);
        $user = new User();
        $user->setEmail($data['email']);
        return $user;
    }
}

?>

Dit is nog allemaal makkelijk. Maar waar ik benieuwd naar was, is hoe je in dit model associaties integreert.

Een niet-generiek systeem maakt het geheel zo veel eenvoudiger.
 
The Force

The Force

21/01/2011 21:38:05
Quote Anchor link
Als je het niet generiek wil dan kan je toch iets als dit doen?

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
<?php
class UserMapper extends Mapper
{
    public function loadFromId($id)
    {

        $data = $this->db->select('user', 'id=?', $id);

        $websites = $this->db->select('websites', 'userid=?', $id);

        $user = new User();
        $user->setEmail($data['email']);
    $user->setWebsites($websites);
        return $user;
    }
}

?>


Er van uit gaande dat een User meerdere Websites heeft. Wil je het lazy loading houden dan kan je in getWebsites() van User een oproep doen om de websites van de User in kwestie te vinden. Moet de User de Mapper wel kennen.

PS. (Edit) Ik ga voor een dagje of wat offline :).
Gewijzigd op 21/01/2011 21:39:06 door The Force
 
Pim -

Pim -

21/01/2011 21:58:40
Quote Anchor link
En dat is dus de vraag: hoe associaties te regelen zonder het domain object kennis te laten hebben van de persistence. Verder moet $user->setWebsties() een array van objecten (of proxies) krijgen, niet van IDs.

Of vraag ik nu het onmogelijke?
 
Niels K

Niels K

29/01/2011 14:49:38
Quote Anchor link
Ik denk het wel Pim, ik kan er i.i.g niets op verzinnen. Zou overigens wel cool zijn. Ik zal het eens vragen op mijn werk maandag.
Gewijzigd op 29/01/2011 14:49:48 door Niels K
 



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.