[oop] abstract vraagje

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Java Developer

Functieomschrijving Are you an experienced Java Developer who wants to be challenged? Then this is your job! As a Java Developer, you are co-responsible for building custom applications within our extensive IT landscape. Development takes place on both the back-end side (Spring/JEE). Together with the IT department, you are responsible for the daily adjustments and expansions of our IT systems. In addition, you will work in small scrum teams using the Agile methodologies. Besides the realization of our in-house systems, you are responsible for the roll-out of the application (version) as well as the operational support after going live. Team

Bekijk vacature »

Backend Developer Integraties API HBO REST

Samengevat: Deze werkgever is een IT-consultancy. Wil jij werken als Backend Developer Integraties? Heb jij kennis van gangbare berichtformaten? Vaste baan: Backend Developer Integraties API HBO €3.100 - €4.400 Zij bieden innovatieve oplossingen die bedrijven efficiënter en wendbaarder maken, waardoor onze klanten zich net zo snel kunnen ontwikkelen als de business van hen vraagt. Bij bij hun werk je aan onze eigen bedrijfsapplicaties. Je ontwikkelt met ons de meest nieuwe software. Wij blinken uit als het gaat om de inzet van technologie. Deze werkgever staat open voor elke nieuwe trend. Onze systemen zijn groot en ingewikkeld. Hou jij van diepgang

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Fullstack developer (NodeJS, React, AWS)

Functie Als Fullstack developer kom je te werken in het ontwikkelteam, maar zoals gezegd komt er veel meer bij kijken dan alleen maar ontwikkelen. Je bent samen met je collega’s continu bezig om de software uit te breiden maar hiernaast doe je doorlopend onderzoek naar de inzet van bijvoorbeeld Machine Learning. Ze willen met hun software echt voorlopen op andere en toegevoegde waarde leveren voor de eindgebruiker. Mede hierom zijn ze erg benieuwd naar iemand zijn persoonlijkheid, of hij graag nieuwe dingen uitzoekt (Google!), en initiatief neemt. Maar waar staan ze nu? Na een onderzoeksfase van ruim een jaar zijn

Bekijk vacature »

Front-end developer

Functie Jij komt te werken in een team van 5 developers. het product is continue in beweging. Nieuwe en bestaande klanten vragen om vaak nieuwe features. Hierin ben jij zeer belangrijk om te zorgen dat de functionaliteiten goed opgezet worden op technisch vlak. Designs krijg je aangeleverd van een externe partij zodat jij je primair kan focussen op de techniek! Je hebt daarbij alle vrijheid om je eigen creativiteit toe te passen en mee te denken over de gebruikte technieken. Het gezamenlijke doel is een product dat functioneel zeer gebruiksvriendelijk is en het bedrijfsproces van de gebruikers versneld en kwalitatief

Bekijk vacature »

Medior .NET Ontwikkelaar

In het kort Als .NET ontwikkelaar ga je binnen onze business unit Transport en Logistiek aan de slag complexe maatwerk software voor bedrijf kritische systemen binnen de technische automatisering. Denk bijvoorbeeld een IoT-oplossing voor de logistieke sector waarbij we van ruim 200.000 machines de telemetrie en events verwerken. We zijn actief in de distributielogistiek, havenlogistiek en productielogistiek. Naast C# en .NET Core maken we ook gebruik van Azure technologie. En als trotse Microsoft Gold Partner leren we graag van en met jou. Wil jij jezelf blijven ontwikkelen binnen de technische automatisering met .NET, dan gaan we deze uitdaging graag met

Bekijk vacature »

C# .NET Ontwikkelaar ASP.NET

Samengevat: Deze werkgever is een inkooporganisatie. Ben jij een ervaren .Net ontwikkelaar? Heb je ervaring met .Net en C#? Vaste baan: C# .NET Developer .Net MBO HBO €3.100 - €4.300 Onze missie is: “Een essentiële bijdrage leveren aan het verlagen van de integrale kostprijs van de aangesloten groothandels, middels het bundelen van inkoopvolume en het creëren van synergie met en tussen de groothandels en leveranciers, met scherpe inkoopprijzen, goede handelscondities en gerichte dienstverlening als resultaat” Zij werken voor MKB klanten. Deze werkgever heeft veel verschillende projecten. Houd jij van afwisseling? Dan zit je bij hun goed! De branche van dit

Bekijk vacature »

Software programmeur

Functieomschrijving Voor een uitdagende werkgever in regio Breda zijn wij op zoek naar een Full Stack C#.NET programmeur. Je bent verantwoordelijk voor het ontwikkelen van apps, webapplicaties en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere developers en engineers om de sensoren in machines te scannen en vervolgens de data om te zetten in management informatie voor de klanten. Taken en verantwoordelijkheden: Je gaat aan de slag met de volgende technologieën en frameworks: C#, JS frameworks, HTML, TypeScript, SQL & C++, CSS. Geen ervaring met één van deze technologieën is dan ook geen enkel probleem! Deze werkgever biedt

Bekijk vacature »

NodeJS developer

Functie Als Fullstack developer kom je te werken in het ontwikkelteam. Je bent samen met je collega’s continu bezig om de software uit te breiden, maar hiernaast doe je onderzoek naar de inzet van nieuwe technieken, tools of bijvoorbeeld Machine Learning. Ze willen met hun software echt voorlopen op andere en toegevoegde waarde leveren voor de eindgebruiker. Mede hierom zijn ze erg benieuwd naar iemand zijn persoonlijkheid, of hij graag nieuwe dingen uitzoekt (Google!), en initiatief neemt. Qua technische kennis zoeken ze iemand die goed op de hoogte is van de nieuwste ontwikkelingen, daar zij nu ontwikkelen op NodeJs back-end,

Bekijk vacature »

.Net ontwikkelaars voor de zorgsector

Bedrijfsomschrijving Voor onze klant in de omgeving van Zwolle zijn wij op zoek naar een ervaren .Net ontwikkelaar, bij voorkeur met ervaring binnen de belangrijkste sector van Nederland, namelijk: de zorgsector. Deze internationale organisatie ontwikkelt software voor de zorgsector. Er werken zo'n 25 medewerkers hard aan een oplossing die gebruikt wordt door heel Nederland. Er heerst een informele sfeer waarbij er altijd ruimte is voor een grapje. Je collega's zijn stuk voor stuk sterke ontwikkelaars vanuit verschillende achtergronden en met verschillende leeftijden. Je komt hier terecht in een organisatie die zich hard inzet om de zorgsector te verbeteren. De mogelijkheden

Bekijk vacature »

.NET Developer

Functie omschrijving In deze functie ga je werken als C# Developer. Jij gaat aan de slag met de volgende taken: Maatwerk software bouwen; Huidige softwareprojecten verder uitbouwen en optimaliseren; Ideeën van de klant omzetten naar handige oplossingen en tools; Bovenstaande doe je middels de Microsoft- stack: C#, ASP.NET en MVC/ Entity Framework. Ben je net afgestudeerd aan een HBO opleiding Informatica, aarzel dan niet om te solliciteren. Dit is namelijk de ideale startersfunctie! Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Het is van oorsprong een familiebedrijf, die gestart zijn met het bouwen van websites. Dit is door

Bekijk vacature »

.NET Developer Microservices

Dit ga je doen Je taken zullen voornamelijk bestaan uit: Het ontwikkelen van software, inclusief vormgeving, implementaties, integraties en (automatisch) testen (.NET, C#, Azure, Docker, Microservices, Angular); Het in kaart brengen van software requirements; Zorgen dat jouw code kwalitatief hoogstaand is; Het uitvoeren van risico analyses; Een bijdrage leveren aan het continuous quality improvement process. Hier ga je werken Dat kanker een verschrikkelijke ziekte is die de wereld uit geholpen moet worden, is duidelijk. Binnen deze Gelderse organisatie die duizenden ziekenhuizen van producten voorziet, proberen ze daar via technische innovaties aan bij te dragen. Samen met 10 collega .NET developers

Bekijk vacature »

Magento developer

Functie E-commerce is een ‘’snelle’’ wereld. Om hierin continu voorop te blijven omarmen ze in een vroeg stadium nieuwe technieken. Een webshop is nooit af en kan altijd beter, sneller en efficiënter. Tegelijkertijd hebben ze vanaf hun oprichting altijd vastgehouden aan kwaliteit boven snelheid, en dit loont. Als back-end developer fungeer je als het verlengstuk van hun klanten. Technisch complexe zaken pak je met liefde op, en hierin werk je samen met o.a. front-end developers en designers. Klanten verwacht hierin kwaliteit van het hoogste niveau en een proactieve, meedenkende rol bij het maken van zowel technische als strategische keuzes. Ga

Bekijk vacature »

PHP Developer

Functie omschrijving Voor een bedrijf in Den Bosch zoek ik een PHP Developer, die al wat werkervaring heeft. Jij gaat aan de slag met de verdere professionalisering van de interne applicaties en software. In de functie ga je verder: Verdere ontwikkeling eigen CRM systeem, vooral middels PHP; Bouwen van verschillende API's & koppelingen; Meedenken om de software/applicaties te verbeteren/optimaliseren; Aan de slag met de interne tooling. Bedrijfsprofiel Dit bedrijf is actief binnen de telecombranche. Het hoofdkantoor zit in regio van Den Bosch en er werken ruim 70 medewerkers, verdeeld over verschillende afdelingen. De afdeling Development bestaat uit vijf collega's, onder

Bekijk vacature »

Software Ontwikkelaar C# .NET

Functie omschrijving Startende Software Ontwikkelaar gezocht met kennis van C# .NET! Ben jij net klaar met je opleiding en ben je op zoek naar je eerste echte werkervaring? Of heb jij al enige werkervaring maar ben toe aan iets nieuws? Dan is dit de perfecte kans voor jou! Wij zoeken namelijk een Junior Software Ontwikkelaar die klaar is voor een nieuwe uitdaging bij een leuke werkgeven in de regio Zeist. In deze functie werk jij vaak aan verschillende projecten en ga je bij klanten op bezoek. Ben jij op zoek naar een functie met uitdaging, diversiteit en verantwoordelijkheid? Dan is

Bekijk vacature »

Pagina: 1 2 volgende »

Ozzie PHP

Ozzie PHP

23/02/2014 00:07:24
Quote Anchor link
Hallo,

Ik zat me ineens iets af te vragen. Als je gebruikers/users hebt, dan kun je "simpele" users hebben, en "uitgebreide" users.

Wat ik bedoel is dit. Stel iemand meldt zich via je website aan voor een nieuwsbrief. Het enige dat die persoon invult is zijn naam en e-mailadres. We kunnen dus zeggen dat het om een "simpele" user gaat, waarvan we alleen de naam en het e-mailadres weten. We kunnen ook "uitgebreide" users hebben. Stel je voor, iemand koopt een product via een webshop, dan weten we niet alleen zijn/haar naam en e-mailadres, maar ook woonplaats en adres. En in weer andere situaties weet je misschien ook wel de geboortedatum.

Nu vraag ik me af. Stel dat je een abstracte user class zou maken, waarop alle andere users zijn gebaseerd. Moet je die class dan zo "simpel" mogelijk houden (dus alleen een naam en e-mailadres), of moet je die juist zo "uitgebreid" mogelijk maken, en null returnen indien bepaalde gegevens niet bekend zijn?
 
PHP hulp

PHP hulp

28/04/2024 20:55:26
 
Bart V B

Bart V B

23/02/2014 10:18:46
Quote Anchor link
Lijkt me een gevalletje DRY. (Don't repeat yourself)

Denk dat ikzelf er voor zou kiezen om op database niveau de (het?) user tabel zo uitgebreid mogelijk te maken.
En op het moment dat ik maar enkele velden nodig heb die over laat aan de php kant.
 
Ozzie PHP

Ozzie PHP

23/02/2014 16:03:50
Quote Anchor link
Dus als ik je goed begrijp maak je in de database 1 heel uigebreide user tabel?

Stel nu dat je een "simpele" user hebt die zich heeft aangemeld voor de nieuwsbrief. Hoe werkt dat dan?

Ik zie 2 scenario's. De default user class is heel beperkt en bevat alleen een getName() en getMail() method. De nieuwsbrief user valt onder deze categorie.

Scenario 2. De default user class is super uitgebreid en je accepteert in het geval van een nieuwsbrief user dat bepaalde methods, bijv. getAddress(), getDayOfBirth e.d. geen resultaat opleveren.

Wat is gebruikelijk?
 
Dennis Stolmeijer

Dennis Stolmeijer

23/02/2014 17:07:20
Quote Anchor link
Ik zou altijd voor scenario 2 gaan, implementatie is stukken makkelijker en ik zie geen nadelen aan 2 tegenover 1, andersom wel.
 
Ward van der Put
Moderator

Ward van der Put

23/02/2014 17:08:07
Quote Anchor link
Eén gebruiker heeft vaak meerdere e-mailadressen. Eén website heeft soms meerdere nieuwsbrieven. Enzovoort.

Zodra je niet normaliseert conform de werkelijkheid, neem je een ontwerpbeslissing die consequenties heeft voor de toekomst.

Verder heeft de inrichting van je User-tabel in de database niet direct te maken met de User-klassen in uiteenlopende webapplicaties. Eén klasse die alles kan, is meestal geen goed idee.
 
Ozzie PHP

Ozzie PHP

23/02/2014 17:15:35
Quote Anchor link
@Ward:

Hoe zou jij zoiets dan doen? Zou jij dan een hele simpele abstracte user class maken met alleen een getName en getMail method?

In algemene zin zou je de vraag ook anders kunnen stellen... moet een abstracte class alleen die functionaliteit bieden die in alle classes aanwezig wordt geacht te zijn? Of moet een class juist zoveel mogelijk functionaliteit bieden, ook al is die functionaliteit voor sommige classes overbodig?

Denis kiest als ik het goed begrijp voor het eerste, terwijl Ward voor het laatste kiest. Kunnen jullie je keuzes nog verder onderbouwen?
 
Dennis Stolmeijer

Dennis Stolmeijer

23/02/2014 17:19:58
Quote Anchor link
Mijn antwoord is gebasseerd op het principe van ORM, 1 tabel staat voor 1 klasse. Wat je wel kan doen, maar dit is puur persoonlijk:

User
naam
email

User_Setting
phone
birth
etc
etc

I.P.V alles in 1 tabel te zetten.

Dit ligt er ook maar net aan hoeveel users jij krijgt met alleen maar naam/email.
Gewijzigd op 23/02/2014 17:20:26 door Dennis Stolmeijer
 
Ozzie PHP

Ozzie PHP

23/02/2014 17:24:23
Quote Anchor link
Ah oké. Ik moet er nog eens even goed over nadenken dan.

Weet je toevallig nog een goede tutorial over ORM?
 
Dennis Stolmeijer

Dennis Stolmeijer

23/02/2014 17:36:32
Quote Anchor link
Er zijn een aantal ORM bibliotheken te vinden voor PHP, vrijwel de bekendste is Doctrine, veel bestaande frameworks als Symfony en Laravel maken gebruik van deze bibliotheek.

Je hebt trouwens ook PHPActiverecord.. maar daar is wel veel minder support voor http://www.phpactiverecord.org/
Gewijzigd op 23/02/2014 17:37:16 door Dennis Stolmeijer
 
Ward van der Put
Moderator

Ward van der Put

23/02/2014 17:38:55
Quote Anchor link
Er is hier geen goed of fout. Als je een site hebt die primair is gericht op het verzamelen van voornaam en e-mailadres van bezoekers, dan kun je het daarbij laten. Ga dan vooral niet ingewikkeld een compleet mens modelleren.

Maar wil je wél een uitgebreid user-model, doe het dan goed. Mensen hebben meerdere e-mailadressen, meerdere adressen, enzovoort. In dat geval zou ik ook kiezen voor een sterk genormaliseerde database. Aansluitend kunnen dan verschillende applicaties dezelfde data gebruiken met verschillende klassen. En dan dus niet:
één tabel is gelijk aan één klasse.
 
Dennis Stolmeijer

Dennis Stolmeijer

23/02/2014 17:48:58
Quote Anchor link
Ward van der Put op 23/02/2014 17:38:55:
Er is hier geen goed of fout. Als je een site hebt die primair is gericht op het verzamelen van voornaam en e-mailadres van bezoekers, dan kun je het daarbij laten. Ga dan vooral niet ingewikkeld een compleet mens modelleren.

Maar wil je wél een uitgebreid user-model, doe het dan goed. Mensen hebben meerdere e-mailadressen, meerdere adressen, enzovoort. In dat geval zou ik ook kiezen voor een sterk genormaliseerde database. Aansluitend kunnen dan verschillende applicaties dezelfde data gebruiken met verschillende klassen. En dan dus niet:
één tabel is gelijk aan één klasse.


Zou je kunnen uitleggen waarom één tabel is gelijk aan één klasse, geen goede implementatie zou zijn? De hele ORM principe draait hier eigenlijk om.

p.s. met Klasse doel ik op een klasse die fungeert als een Model in het geval van een MVC of MVVM, ie implementatie
 
Ward van der Put
Moderator

Ward van der Put

23/02/2014 18:00:30
Quote Anchor link
>> Zou je kunnen uitleggen waarom één tabel is gelijk aan één klasse, geen goede implementatie zou zijn? De hele ORM principe draait hier eigenlijk om.

Als één gebruiker meerdere e-mailadressen heeft, zijn dat in een goed genormaliseerde database twee tabellen. Toch kun je dan één User-class hebben.

Voor veel-op-veel-relaties wordt de complicatie nog groter. Eén gebruiker kan meerdere adressen hebben. Maar één adres kan omgekeerd ook door meerdere gebruikers worden gebruikt. In een database is dat geen punt: je gebruikt gewoon drie tabellen. In een webapplicatie modelleer je dat echter niet vanzelfsprekend met drie classes. Het kunnen er ook meer of minder zijn.
 
Dennis Stolmeijer

Dennis Stolmeijer

23/02/2014 18:20:37
Quote Anchor link
Ward van der Put op 23/02/2014 18:00:30:
>> Zou je kunnen uitleggen waarom één tabel is gelijk aan één klasse, geen goede implementatie zou zijn? De hele ORM principe draait hier eigenlijk om.

Als één gebruiker meerdere e-mailadressen heeft, zijn dat in een goed genormaliseerde database twee tabellen. Toch kun je dan één User-class hebben.

Voor veel-op-veel-relaties wordt de complicatie nog groter. Eén gebruiker kan meerdere adressen hebben. Maar één adres kan omgekeerd ook door meerdere gebruikers worden gebruikt. In een database is dat geen punt: je gebruikt gewoon drie tabellen. In een webapplicatie modelleer je dat echter niet vanzelfsprekend met drie classes. Het kunnen er ook meer of minder zijn.


Eens, ik had het scenario van een veel-op-veel relatie niet meegenomen. Verder delen we wel gewoon dezelfde mening en daar was ik benieuwd naar.
 
Wouter J

Wouter J

23/02/2014 18:27:51
Quote Anchor link
Als 1 User meerdere emailadressen heeft dan heeft de User object een n-n relatie met het Email object.

Dennis, merk op dat je jouw denkwijze van een ORM iets moet aanpassen. Het gaat in een ORM namelijk niet om je tabel, maar om je object. Code-first zeg maar. Dus elk object heeft zijn eigen tabel, maar niet perse elke tabel hoeft een object te hebben.
 
Ward van der Put
Moderator

Ward van der Put

23/02/2014 18:33:23
Quote Anchor link
Wouter J op 23/02/2014 18:27:51:
Dus elk object heeft zijn eigen tabel, maar niet perse elke tabel hoeft een object te hebben.

Elk object een eigen databasetabel? En dus voor elk object databasetoegang?
 
Dennis Stolmeijer

Dennis Stolmeijer

23/02/2014 18:43:08
Quote Anchor link
Wouter J op 23/02/2014 18:27:51:
Als 1 User meerdere emailadressen heeft dan heeft de User object een n-n relatie met het Email object.

Dennis, merk op dat je jouw denkwijze van een ORM iets moet aanpassen. Het gaat in een ORM namelijk niet om je tabel, maar om je object. Code-first zeg maar. Dus elk object heeft zijn eigen tabel, maar niet perse elke tabel hoeft een object te hebben.


Bedoel je niet een 1:n relatie? n:n houd in dat hetzelfde een mailadres aan meerdere gebruiker gekoppeld kan zijn, minder gebruikelijk lijkt mij.

Ik deel jou beeld van een ORM implementatie, je hebt gelijk dat mijn uitleg het Code-first idee niet ondersteunde.

@ward

Deze concludering begrijp ik niet helemaal
Gewijzigd op 23/02/2014 18:44:17 door Dennis Stolmeijer
 
Ward van der Put
Moderator

Ward van der Put

23/02/2014 19:11:58
Quote Anchor link
@Dennis Wat mij betreft, kun je gerust klassen hebben die "naast" tabellen staan. Dat hoeft niet per se een één-op-één-relatie te zijn tussen tabel en klasse.

Neem een concreet voorbeeld. Met een class NederlandsePostcode extends Postcode en een class BelgischePostcode extends Postcode heb ik drie klassen die drie typen postcodes kunnen afhandelen. Heb ik daarvoor dan drie databasetabellen nodig? Nee, niet per se. Moet ik postcodes dan opslaan in een aparte tabel? Nee, ook dat niet.
 
Wouter J

Wouter J

23/02/2014 19:27:27
Quote Anchor link
Ward, nee postcode is dan je klasse die in je tabel komt.
 
Ward van der Put
Moderator

Ward van der Put

23/02/2014 19:32:59
Quote Anchor link
Wouter J op 23/02/2014 19:27:27:
Ward, nee postcode is dan je klasse die in je tabel komt.

In welke tabel? ;-)

En hoe verhoudt die postcode zich tot objecten zoals straatnamen, huisnummers, plaatsnamen en landen?

We zijn, opnieuw, automatiseringsproblemen aan het ombuigen naar één model terwijl er meerdere geschikte modellen voor uiteenlopende problemen zijn.
 
Wouter J

Wouter J

23/02/2014 19:41:50
Quote Anchor link
Persoonlijk zou ik 2 tabellen hebben: User en Address. Die verschillende postcode klassen worden dan Value Objects.
 
Ozzie PHP

Ozzie PHP

23/02/2014 19:57:01
Quote Anchor link
Jongens, de discussie dwaalt een beetje af. Ik ga mijn vraag nog een keer stellen en ben dan benieuwd naar jullie antwoord. We vergeten even het hele database gebeuren.

Stel we hebben een auto en een fiets. Beiden zijn voertuigen, dus het lijkt me dan zinvol om een abstracte class Voertuig te maken. Mee eens?

Nu is mijn vraag wat er in die abstracte class thuis hoort.

We kunnen stellen dat ieder voertuig kan sturen, remmen en gasgeven. Dus in de voertuig class kunnen we de methods stuurLinks, stuurRechts, rem en gas zetten. Maar... hoort daar bijv. ook een method getNummerbord in? Veel voertuigen hebben een nummerbord, maar een fiets bijvoorbeeld niet. Plaatsen we de getNummerbord method in de voertuig class en accepteren we dat het mogelijk is dat iemand van een fietsobject het nummerbord opvraagt? Of plaatsen we getNummerbord alleen in de auto class?
 

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.