Datamapper

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

ICT projectleider

Ben jij opzoek naar een uitdagende functie als ICT projectleider? Ben jij graag dynamisch bezig met het bedenken van IT-oplossingen bij de actualiteit in de zorg? Lees dan snel verder. ICT projectleider Rotterdam, Fulltime Wat ga je doen? Als ICT-projectleider bedenk jij samen met de leverancier naar de beste oplossingen voor het registreren van patiëntgegevens van verschillende zorginstellingen en zorg jij ervoor dat het soepel verloopt. Daarnaast ben je bezig met het verbeteren van de bestaande IT-processen en bedenk je graag ook nieuwe processen. Jij zorgt er voor dat de gebruikers goed kunnen werken met de applicaties; IT-procedures werkinstructies en

Bekijk vacature »

Full Stack Java Developer

Functieomschrijving Wil jij zorgen voor de meest plezierige en efficiënte klant ervaring? Wil jij werken met state-of-the-art-systemen, onze business verbeteren en echt impact maken? Wat ga je doen als Full-stack Java Developer? Met jouw slimme en gave oplossingen breng je mensen en werk dichter bij elkaar. Samen met jouw team uiteraard. Binnenstromende functionele vragen vertalen naar technische creatieve oplossingen. Daar mag jij je in gaan vastbijten. Jouw focus bij ons zal liggen bij het 'self-service portaal' voor klanten, waar onze producten en diensten digitaal worden aangeboden aan onze klanten. Een portaal wat wij continue willen doorontwikkelen en dus ook onze

Bekijk vacature »

Full Stack Java Developer - Utilities

Ben jij een ontwikkelaar die wil bijdragen aan de energietransitie? Lees dan verder! Wat ga je doen? Als Full Stack Java Ontwikkelaar draag je verantwoordelijkheid voor het gehele proces van het omzetten van wensen, problemen of vragen naar concrete oplossingen. Integratie, testen, vastleggen van kennis en beslissingen, problem management en automation zijn onderdeel van je takenpakket in zowel SAFE of DevOps gestuurde omgevingen als ook in omgevingen die nog werken volgens het traditionele waterval model. Als ontwikkelaar krijg je alle mogelijkheden om je technisch verder te ontwikkelen en samen te werken met gedreven collega's. Wat breng je mee? Je hebt

Bekijk vacature »

FrontEnd Developer NodeJS

Vanwege succes en ter uitbreiding zijn wij namens onze klant op zoek naar een Back-End Developer NodeJS die zich bezig zal houden met het schaalbaar maken en houden van diverse innovatieve, IT-gedreven oplossingen. Naast het bouwen aan de verschillende applicaties zorgt de Back-End Developer NodeJS ook een stuk voor de architectuur en overige. Bedrijfsomschrijving Key-Account van Michael Page Bekend A-merk in Europa Omschrijving Werken bij onze klant zorgt ervoor dat je als Back-End Developer nieuwe applicaties zult bouwen, meedenkt over de architectuur, performance en informatie analyse. Je werkt aan code kwaliteit, schaalbaarheid van de applicaties en consumenten oplossingen. Ook zul

Bekijk vacature »

Full Stack Java Developer

Functieomschrijving Wil jij zorgen voor de meest plezierige en efficiënte klant ervaring? Wil jij werken met state-of-the-art-systemen, onze business verbeteren en echt impact maken? Wat ga je doen als Full-stack Java Developer? Met jouw slimme en gave oplossingen breng je mensen en werk dichter bij elkaar. Samen met jouw team uiteraard. Binnenstromende functionele vragen vertalen naar technische creatieve oplossingen. Daar mag jij je in gaan vastbijten. Jouw focus bij ons zal liggen bij het 'self-service portaal' voor klanten, waar onze producten en diensten digitaal worden aangeboden aan onze klanten. Een portaal wat wij continue willen doorontwikkelen en dus ook onze

Bekijk vacature »

Junior .Net Developer voor geautomatiseerde emailm

Onze klant is een Email Marketing Automation ontwikkelaar voor vele grote klanten in Nederland en België. Met hun marketingsoftware weten zij dagelijks miljoenen mensen te bereiken voor hun klanten. Als Junior .Net Developer van het jonge en informele Innovatie Team breng jij het platform naar een hoger niveau. Je bent hierbij als junior vanaf dag 1 volledig betrokken bij het team. Je bent betrokken de volledige software development life cycle en gaat dan ook mee naar de grote klanten. Terwijl je wordt ingewerkt en dagelijks spart met je 15 gezellige collega’s, werk je aan zowel de front-end als back-end van

Bekijk vacature »

Dynamics NAV / 365 BC Developer

Bedrijfsomschrijving Als Dynamics Business Central Developer kom je te werken bij een organisatie in regio Ede die gespecialiseerd is in het ontwikkelen en implementeren van software. Zo hebben ze een eigen ontwikkelde applicatie in de markt gezet voor de agrarische sector die internationaal zeer succesvol is en waar grote vraag naar is. Door deze software worden klanten op een slimme manier ondersteund bij voorraden, administratie, het maken van planningen, het tonen van real time informatie en nog veel meer. Dit platform is ontwikkeld op basis van Dynamics 365 Business Central, waar bovenop applicaties middels .NET Core, React en Azure worden

Bekijk vacature »

C/C++ Developer

Bedrijfsomschrijving Als Software ontwikkelaar C/C++ kom je te werken bij een toonaangevende organisatie in de mobiliteitsbranche die door het produceren van slimme producten Nederland steeds leefbaarder maakt! Ze ontwikkelen innovatieve producten die er onder andere voor zorgen dat de infrastructuur in Nederland op de snelste en meeste efficiënte manier kan worden geregeld. Als C/C++ ontwikkelaar kom je te werken op een afdeling met 40 collega's, bestaande uit Engineers, deskundigen en ontwikkelaars. Hiervoor werk je nauw samen in een team met ongeveer tien andere ontwikkelaars. Samen met het team pak je zelfstandig projecten op die doorgaans een doorlooptijd hebben van 4

Bekijk vacature »

Full Stack Java Developer - Infrastructure

Ben jij een ontwikkelaar die wil bijdragen aan de energietransitie? Lees dan verder! Wat ga je doen? Als Full Stack Java Ontwikkelaar draag je verantwoordelijkheid voor het gehele proces van het omzetten van wensen, problemen of vragen naar concrete oplossingen. Integratie, testen, vastleggen van kennis en beslissingen, problem management en automation zijn onderdeel van je takenpakket in SAFE of DevOps gestuurde omgevingen. Als ontwikkelaar krijg je alle mogelijkheden om je technisch verder te ontwikkelen en samen te werken met gedreven collega's. Wat breng je mee? Je hebt gedurende 1 tot 2 jaar een basis opgebouwd in applicatie ontwikkeling met .Net

Bekijk vacature »

Desktop Support Engineer

WHO WE ARE AND WHAT WE DO IMC is a leading global market maker, using algorithmic trading and advanced technology to buy and sell securities on multiple trading venues worldwide. We provide liquidity to the financial markets, driving efficiencies for buyers and sellers. Founded in 1989, we are an ambitious, innovative company and identified early on the importance technology would play in the fast-paced evolution of trading. This entrepreneurial spirit still drives us today and can be found in all of our offices around the world. IMC – Where Technology drives Trading Trading nowadays happens in a highly competitive technological

Bekijk vacature »

Opleidingstraject tot Low Code Developer Cross Bor

Opleidingstraject tot Low Code Developer Cross Border Solutions Den Haag HBO/WO IT Professional "Wij zetten Mendix en E-magiz in voor onze kritieke processen om de favoriete bezorger te zijn. We zoeken hiervoor Developers in spe die gaat leren ontwikkelen in Mendix en E-magiz voor het uitbreiden van onze Cloud IT-platformen en softwareoplossingen voor onze belangrijkste internationale klanten. Dit vraagt om analytisch vermogen, creativiteit, klantgerichtheid en uitstekende communicatie skills". Wat ga je doen? Als onze nieuwe Junior Developer word je onderdeel van de digitale transformatie van onze internationale business unit naar een e-commerce dienstverlener. PostNL’s cross border unit (CBS) groeit in snel tempo

Bekijk vacature »

Application Developer Tech Lead

We’re Hiring! A UPS Application Developer Tech Lead *REMOTE WORK POSSIBLE FOR THIS ROLE As a Tech Lead Developer at UPS you work on delivering functionality for highly complex IT systems. You collaborate in agile teams and participate in emerging technologies and processes like CI/CD and DevOps to ensure that we meet our objectives effectively and efficiently. Your primary role is to perform full system life cycle activities, e.g. analysis, technical requirements, design, coding, testing and the implementation of software. Working in our Europe development center in Eindhoven means working in an international team with onsite people as well as

Bekijk vacature »

Java Developer - Publieke veilgheid

Wil jij als Java developer meewerken aan innovatieve en complexe applicaties? CGI zoekt Java Developers die mee willen werken aan oplossingen voor complexe & maatschappelijk relevante vraagstukken waar de het domein Publieke Veiligheid (o.a. Justitie en politie) voor staat. Wat verwachten we van een Java Developer? Enthousiasme en de wil om je als Java Developer continue te ontwikkelen. Je vindt het leuk om toffe Java oplossingen uit te werken. Je volgt de laatste trends op de voet en je vindt het leuk te werken met de nieuwste technologie, zoals Quarkus, de sub-atomische Java stack die klaar is voor OpenJDK HotSpot

Bekijk vacature »

Typescript Developer / Cloud platform

Bedrijfsomschrijving Onze opdrachtgever, gevestigd in regio Eindhoven, levert een compleet dienstenpakket op het gebied van IT. Zij pakken verschillende (complexe) vraagstukken van grote organisaties op. De sfeer intern is gezellig en informeel. Men houdt van hard werken maar gezelligheid door middel van een borrel of gezamenlijke lunch komt er veel voor. Als Typescript ontwikkelaar word je onderdeel van het team gericht op de (door)ontwikkeling van hun eigen cloud platform welke wordt gebruikt door verschillende klanten. Hierbij wordt er veel gefocust op gebruikersgemak, denk bijvoorbeeld aan de ontwikkeling van een selfservice portal, monitoringsportals en een automatisch test framework. Hierin zal jij

Bekijk vacature »

GEO-ICT/Smallworld GIS Ontwikkelaar

Bij onze klanten vormen Geographical Information System (GIS) systemen de basis van Asset Data Management. Zie jij het als een uitdaging om als onderdeel van een DEVOPS team de systemen van onze klanten te helpen vormgeven en continu te verbeteren? Wat ga je doen? Ons team heeft als doel nog relevanter te worden voor onze klantengroep van netbeheerders. Wij hebben een grote GEO-ICT Practice en daarmee zijn we in staat een fundamenteel deel van de basisregistratie van assets voor onze klanten vorm te geven. Dat doen we door het bedenken van concepten, onze klanten te adviseren op GEO-ICT gebied en

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

08/05/2021 15:05:56
 
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.