o.. oo... oop!

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Full Stack Developer

Functieomschrijving Philips Healthcare Research has a services division with around 100 professionals divided over 5 teams. We are looking for full stack or back-end developers with around 5 years of experience to join us! Projects will include creating a software product or building a proof of concept (POC) for internal stakeholders. You will work on multiple projects simultaneously. Functie-eisen Do you have experience with some of the tools below? Python, Java, C#.NET, Node.js Miscellaneous: Docker, Kubernetes, Microservices, azure/aws/gcp, cloud foundry Frameworks: Spring boot, Spring (mvc), .NET, django Javascript (we expect everybody to have HTML(5), CSS) Java-script frameworks, Vue.js, React.js, Angular.js

Bekijk vacature »

Front End Developer with excellent Angular skills

Front End Developer with excellent Angular skills to help migrate software application into the Cloud (Front End Developer Angular 65K Rotterdam IND Registered) For an international organisation, specialised in data management for the process industry, we are looking for a Front End Developer with strong work experience in Angular technologies. This organisation has developt a software solution that takes on the important role of connecting people, data and assets, and translates this data into 3D models. Until recently it was a desktop solution, that is currently being migrated to the (AWS) Cloud. Are you up for the task? Who are

Bekijk vacature »

AWS Cloud Architect / Senior Cloud Developer Inter

Scope of the assignment Environment is ready to perform data injections to new platform. Defined standards and best practices to work with cloud technology Setup framework of standard designed patterns to perform data ingestion and data analysis Proving the value of propose solution – running end to end PoCs New way of working rolled up to other DevOps teams – setting up trainings Location T-Mobile's headquarter is in The Hague. The following qualifications are required 8-10 years of experience A solid background in Linux/Unix and Windows server system administration An understanding of writing Infrastructure-as-Code (IaC), using tools like CloudFormation or

Bekijk vacature »

Senior Full Stack Developer Software / Java

Voor wie je gaat werken: Wij zijn een ICT-bedrijf. Ben jij een Senior Full Stack Developer? Heb jij ervaring met zowel front end als back end? Vaste baan: Senior Full Stack Developer Software Java 3.500 - 4.700 Senior Full Stack Developer Wij ontwikkelen eigen softwareproduct, waarmee bedrijven makkelijk de urenregistratie van medewerkers kan vastleggen en vandaar uit kan factureren. Wij zijn een veelzijdige organisatie. Je werkt voor onze eigen IT organisatie. We werken met moderne technologie en staan open voor innovatie. Wij kennen een informele cultuur. We zijn gericht op verbetering en innovatie. Ontwikkeling bij het personeel wordt dan ook

Bekijk vacature »

Magento Developer

Bedrijfsomschrijving Dit informele bedrijf dat een aantal bekende webshops in beheer heeft is per direct op zoek naar een Senior Magento developer die de lopende webshops en andere e-commerce uitingen naar zijn hand zet. Deze gezellige organisatie telt 13 innovatieve jonge en ervaren medewerkers. Ze realiseren en beheren succesvolle webshop oplossingen en doen dit van A tot Z. Hierbij kun je denken aan bijvoorbeeld oplossingen voor warehouse en koppelingen naar kassasystemen. Bij dit bedrijf willen ze niet alleen een webshop opleveren maar gaat het om het doorontwikkelen, verbeteren en optimaliseren. Op dit moment zoeken zij een senior PHP developer die

Bekijk vacature »

(Functioneel) Applicatiebeheerder Microsoft Dynami

Wil je graag meebouwen aan een prachtige, internationale organisatie in een hightech branche? Ben je op zoek naar een baan in een afwisselende en levendige werkomgeving? Waar elke dag anders is en een beroep wordt gedaan op je creativiteit, flexibiliteit? Teesing is een sterk groeiende en toonaangevende organisatie met een uitgekiend assortiment van hoogwaardige producten. Binnen ons IT-Team zijn wij ter uitbreiding op zoek naar een ambitieuze: (Functioneel) Applicatiebeheerder MicrosoftDynamics CRM en NAV - fulltime Wat ga je doen als (Functioneel) Applicatiebeheerder bij Teesing? Wij zoeken een proactieve medewerker met een gedegen kennis van Microsoft Dynamics CRM en NAV (NAVISION)

Bekijk vacature »

Cloud Developer

Wil jij ontwikkelen in de Cloud, waarbij je ook te maken krijgt met Low Code platformen, bekende CRM-applicaties en, soms minder bekende, back-end applicaties? Ben je op zoek naar een rol binnen een jong team met een uitdagend applicatielandschap? Dan is dit jouw kans. Maak kennis met de meer dan 100 industriële bedrijven die vallen onder het familiebedrijf VDL Groep. Samen met het DevOps/agile team lever je een bijdrage aan onze verdere digitalisering. Daarbij ben je verantwoordelijk voor analyse, ontwerp, ontwikkeling, test en uitrollen van de services binnen ons Microsoft Azure platform. Wat ga je doen als Cloud Developer: Als

Bekijk vacature »

.Net ontwikkelaars gezocht in omgeving Zwolle

Bedrijfsomschrijving Onze opdrachtgever staat al jaren bekend als één van de meest innovatieve organisaties van de regio. Vanuit hun kantoor in de buurt van Zwolle bouwen ze aan complexe projecten. Zo hebben ze een applicatie gebouwd waarbij de schade aan gebouwen en wegen na een natuurramp goed in kaart gebracht kan worden. Met die informatie kunnen verzekeraars en overheidsinstanties beter hun werk doen. Binnen de organisatie heeft iedereen de neuzen de zelfde kant op staan. Er ligt een sterke focus op het werken volgens de laatste trends en technologieën. Functieomschrijving Binnen je functie ben je verantwoordelijk voor de technische ontwikkeling

Bekijk vacature »

MS Dynamics AX Ontwikkelaar

Voor een klant in Nuth zoeken wij een MS Dynamics AX Ontwikkelaar. Je zult het team per direct versterken met innovatieve oplossingen. Wat bieden wij jou Een marktconform salaris Uitdagende positie in een groeiende organisatie Een dynamische werksfeer en ruimte voor inbreng Doorgroeimogelijkheden Wie ben jij Als MS Dynamics AX Ontwikkelaar beschik je over de volgende eigenschappen: Je hebt een minimaal afgeronde Bacheloropleiding richting Informatica/ ICT; Je hebt minimaal twee jaar ervaring als ontwikkelaar van Microsoft Dynamics; Hoge betrokkenheid met collega’s en (interne) klanten; Je bent proactief, en communicatief vaardig; Je bent leergierig en enthousiast! Wat ga je doen Je

Bekijk vacature »

Fullstack Developer GUI Linux / UI/UX Design

Bij welk bedrijf je gaat werken: Wij zijn de leider in intelligente signaleringssoftware voor o.a. 2G/3G, 4G/LTE, 5G netwerken. Ben jij een fullstack developer? Heb je ervaring met o.a. HTML en CSS, UI/UX design, JavaScript, Typescript, React, Go en PHP? Vaste baan: Fullstack Developer GUI Linux HTML CSS 3.000 - 4.500 Fullstack Developer Wij ontwikkelen intelligente software voor 4G / 5G, WiFi en andere complexe netwerken. Het gaat om software producten voor routing, security en interworking. Toe aan een mooie, nieuwe uitdaging? Bij ons kom je terecht in een prettige, dynamische werkomgeving, waarbij je samenwerkt met uitstekende vakspecialisten op gebied

Bekijk vacature »

Junior Software Engineer

Ben jij net afgestudeerd of heb je al software kennis en ervaring maar wil je die verder uitbreiden? Kom je ons team versterken en bouw jij mee aan state of the art industriële bakkerij systemen? Dan willen we jou graag in het team! Samen met alle andere afdelingen verbeteren we continu onze manier van ontwerpen, testen en implementeren van de nieuwste besturingssystemen en robots. Primaire verantwoordelijkheden PLC’s programmeren (Siemens en Allen Bradley) met behulp van standaard software functies (programmeertaal: structured text) Configureren en testen van de software voor bakkerijmachines, HMI’s (bedieningspanelen), aandrijvingen en veiligheidssystemen Testen en inbedrijfstelling van machines Verbetervoorstellen

Bekijk vacature »

Junior Outsystems Ontwikkelaar IT / Lowcode

Wie wordt jouw werkgever?: Wij ontwikkelen ERP systemen. Ben jij een gedreven Software Ontwikkelaar? Heb je kennis van ERP systemen? Vaste baan: Junior Outsystems Ontwikkelaar IT ERP 2.400 - 3.100 Junior Outsystems Ontwikkelaar Wij ontwikkelen ERP systemen voor bouworganisaties. Dit doen wij tegen de hoogst mogelijke kwaliteit. Werken bij ons betekent werken in een start-up omgeving met veel groei mogelijkheden. Doorleren wordt op prijs gesteld en gefaciliteerd. Daarbij geven we jou veel verantwoordelijkheden en mogelijkheden om eigen initiatieven uit te voeren. Bij ons werk je aan onze eigen bedrijfsapplicaties. Je ontwikkelt met ons de meest nieuwe software. Wij blinken uit

Bekijk vacature »

.NET Software Developer – Smart Logistics

Heb jij ervaring met applicatie ontwikkeling, testen en onderhouden van missie-kritische .NET applicaties? En wil je graag met de nieuwste technologieën werken binnen een DevOps scrumteam? Lees dan snel verder! Wat ga je doen? “Use digital to move smarter De unit Smart Logistics binnen de Transport & Logistics sector van CGI ontwerpt, bouwt en onderhoudt veelal missie-kritische applicaties voor onze klanten uit de transport en logistieke sector. Zonder deze sector worden onze pakketjes niet op tijd afgeleverd, rijden de treinen niet meer van a naar b en varen schepen niet veilig de haven binnen. Om deze transport en logistieke ketens

Bekijk vacature »

Junior Full Stack Developer Software / Java

Voor wie je gaat werken: Wij zijn een ICT-bedrijf. Ben jij een Junior Full Stack Developer? Heb jij ervaring met zowel front end als back end? Vaste baan: Junior Full Stack Developer Software Java 2.500 - 3.200 Junior Full Stack Developer Wij ontwikkelen eigen softwareproduct, waarmee bedrijven makkelijk de urenregistratie van medewerkers kan vastleggen en vandaar uit kan factureren. Wij zijn een veelzijdige organisatie. Je werkt voor onze eigen IT organisatie. We werken met moderne technologie en staan open voor innovatie. Wij kennen een informele cultuur. We zijn gericht op verbetering en innovatie. Ontwikkeling bij het personeel wordt dan ook

Bekijk vacature »

Frontend Developer JavaScript/TypeScript met AWS

Bedrijfsomschrijving De organisatie kenmerkt zich door haar uitmuntende service en software producten welke diep in haar dna geworteld zit. Ze bieden hoogwaardige software producten aan voor het midden- en kleinbedrijf en voor diverse beursgenoteerde ondernemingen. Met het team van sterke en bevlogen ontwikkelaars voeren zij dan ook diverse activiteiten uit welke dit bedrijf eigen maakt. Door middel een sterk team, doorontwikkeling en het ondersteunen van elkaar zorgt men er dan ook voor dat zij constant op de hoogte is van de nieuwste ontwikkelingen en technieken om de klant (continu) nóg beter te kunnen ondersteunen. Hiermee komen ze tot de mooie

Bekijk vacature »
Ozzie PHP

Ozzie PHP

28/01/2011 14:35:29
Quote Anchor link
Net even deze tutorial doorgelezen: http://www.phphulp.nl/php/tutorial/overig/oop-beginnershandleiding-php5/701/inleiding/1841/

Als mijn vragen niet zo helder zijn dan komt dat omdat ik informatie aan het processen ben en hier en daar was sterretjes zie... * * * :-)

Hier dan even wat vragen:

- Is het zo dat je alles in zoveel mogelijk objecten moet stoppen? Dus stel je hebt een class / object huis, dan heb je bijv. ook een class 'kamer', 'deur', 'raam', 'muur' enzovoorts en ook een class 'slaapkamer' en 'woonkamer' die de class kamer extenden. Is dat correct? Je krijgt dan wel heeeel veel classes lijkt mij.
- Als je zo heel veel classes hebt plaats je die dan allemaal los in je library, of zet je classes die bij elkaar horen in een aparte folder?
- Is het gebruikelijk om meerdere classes in 1 bestand te zetten? Dus stel je noemt het bestand house.php en dat je daar dan een class 'room', 'door', 'window' etc. in zet? Of toch gewoon alle classes als een los bestand?
- Hoe strict is de naamgeving? Ik doe het namelijk anders. Ik schrijf een class naam als volgt met hoofdletters voor ieder nieuw woord, bijvoorbeeld 'MijnClass' en het bestand zou ik dan gewoon mijnclass.php noemen. In variabelen gebruik ik juist kleine letters en een underscore, bijvoorbeeld '$kamer_modern'. En een underscore voor een protected / private variabele of functie doe ik nooit (is dat wel aan te raden)?
- In de tutorial ging het over het maken van een tabel, en daarbij ook het aanmaken van een tabelcel. Je hebt dan een class Cell en bijvoorbeeld een class BorderCell die de class Cell extend. De class BorderCell zet een randje om de cel heen. Nu vraag ik me af... je zou ook 1 class Cell kunnen maken en dan als type 'border' kunnen meegeven, dus $cell = new Cell('border'). Wat is de beste manier?

Een heleboel vragen... ik ben benieuwd of iemand dit kan ophelderen!
Gewijzigd op 28/01/2011 14:37:33 door Ozzie PHP
 
PHP hulp

PHP hulp

02/08/2021 23:48:43
 
Pim -

Pim -

28/01/2011 14:41:37
Quote Anchor link
1: Ja. Hoe meer klassen hoe meer abstractie hoe beter. Soms wil je echter moeite besparen door niet alles te delegeren aan aparte klassen, maar begin maar met gewoon echt 1 klasse, 1 taak.
3: Nee
2/4: Klassen kan je indelen. Vaak gaat dit met de naam. Denk aan Kamer_Woon, Kamer_Bad oid. Kamer zit dan in je hoofdmap (Kamer.php) en Woon als Woon.php in de map Kamer. Deze naamgeving gebruiken de meeste frameworks en raad ik je ook aan. Heel strict is dit echter niet.
5: Dit hangt erg van het verschil tussen de items. Als ze dus meer dan alleen de naam verschillen, kan je beter een aparte klasse maken. Als het enige verschil dus die naam is, niet. De BorderCell heeft dus een eigenschap (bijv borderwidth) die andere cellen niet hebben, daarom moet het in een aparte klasse.
 
Ozzie PHP

Ozzie PHP

28/01/2011 18:15:24
Quote Anchor link
Hoi Pim,

Dankjewel voor je uitleg. Ik heb weer wat bijgeleerd. Bij punt 2/4, begrijp ik het goed dat je eigenlijk iedere class gewoon in de library zet, maar alle classes die een andere class extenden in een aparte map die dezelfde naam heeft als de class die ze extenden? En geef je met die underscore aan dat de class in een aparte folder staat?

Bij punt 5 zou je toch ook kunnen zeggen dat border een property van cell is? En dat die property standaard op 0 staat? Ik probeer een beetje het principe te begrijpen wat er achter zit.
 
Pieter Jansen

Pieter Jansen

28/01/2011 18:18:30
Quote Anchor link
Ligt eraan wat je zelf wil. Over het algemeen is het wel raadzaam om een methode te hanteren die jou het beste uit komt, maar als je weet dat er ook andere mensen mee gaan werken, kun je het beste de "best practices" hanteren zoals je die gelezen hebt. Overigens, elk framework heeft z`n eigen werkwijze dus denk niet dat alle frameworks etc een en dezelfde stijl hanteren.

Als je zelf iets schrijft, geef vooraf aan hoe je dingen gaat doen, en hou je aan die regels. Het is niet ontzettend belangrijk hoe je dingen noemt zoals het voor de mensen die er mee moeten werken maar wel duidelijk is.

Ook over je mappenstructuur, hangt helemaal van jezelf af, maar als je echt een huis als voorbeeld neemt, zou ik ( persoonlijk ) in mappen werken. Anders krijg je op een gegeven moment echt heel veel files in je map.
 
Ozzie PHP

Ozzie PHP

28/01/2011 18:23:20
Quote Anchor link
Hoe zou je dat in het voorbeeld van het huis doen? Net als Pim zegt in de library room.php zetten en dan een map Room in de library zetten waar je dan bijv. bath.php en living.php zet? Of zou jij het anders aanpakken?
 
Pieter Jansen

Pieter Jansen

28/01/2011 19:07:25
Quote Anchor link
nee hoor, ongeveer op die manier. Ik zelf hou altijd super klasse zelf ook in de map. Om naamgevingen etc niet door elkaar te houden.

dus:

House
class.House.php
Rooms
class.Room.php
LivingRoom
class.LivingRoom.php
etc etc
BathRoom
class.BathRoom.php
etc etc
Gewijzigd op 28/01/2011 19:25:07 door Pieter Jansen
 
Ozzie PHP

Ozzie PHP

28/01/2011 19:21:58
Quote Anchor link
Ik volg je opbouw niet helemaal... wat hoort bij wat?
 
Pieter Jansen

Pieter Jansen

28/01/2011 19:32:27
Quote Anchor link
Tabs en spaties werken niet heh. Maar ik zou dus een mappen structuur aanhouden waar je elke sub klasse ook in z`n eigen map zet. Dit om naamgeving problemen etc te voorkomen. Als je dus class.House.php hebt, zou ik die in de map House plaatsen. Een sub klasse Room zou ik dan ook in een map binnen Room zetten. Dus dan krijg je House/Room/ en daar dan de class.Room.php. Als je nu een livingRoom hebt, plaats je die binnen de map Room. Dus: House/Room/LivingRoom/ en daar dus ook de klasse class.LivingRoom.php.

Stel nou dat je objecten hebt welke voor meerdere subklasses geldt, bijvoorbeeld een Lamp, dan kun je die onder Room zetten, of desnoods onder House. Immers elke room en sub klasses kunnen een lamp krijgen. Maar die mag ook onder House vallen, je kunt ook lampen aan de buitenkant van je huis hebben. Die valt dus onder /House/
Gewijzigd op 28/01/2011 19:33:12 door Pieter Jansen
 
Ozzie PHP

Ozzie PHP

28/01/2011 19:40:19
Quote Anchor link
"Tabs en spaties werken niet heh".
Even tussen de code tags zetten ;)

Maar wat nu als je Lamp ook wil gebruiken voor iets wat niet bij het huis hoort? Bijvoorbeeld bij auto?
 
Pieter Jansen

Pieter Jansen

28/01/2011 19:44:27
Quote Anchor link
Dan moet je dus een niveau hoger. Wat je ook kunt doen is een interface gebruiken voor de Lamp. Of ( wellicht beter ) een abstracte klasse. Dit kun je als aparte groep hanteren.
 
Ozzie PHP

Ozzie PHP

28/01/2011 19:46:46
Quote Anchor link
jemig... ingewikkeld allemaal...
 
Hendrik de Jager

Hendrik de Jager

01/02/2011 21:45:09
Quote Anchor link
Ozzie PHP op 28/01/2011 19:46:46:
jemig... ingewikkeld allemaal...

Zoals gezegd, werk zoals je zelf het mooiste/makkelijkste vind, mocht je voor een bedrijf gaan werken vertellen die je wel hoe hun structuur in elkaar steekt.

Ga je met een groepje iets starten(Lees: 3-4 mensen) kan je met elkaar overleggen welke structuur.
 
Pim -

Pim -

01/02/2011 22:56:34
Quote Anchor link
Wat je wel het beste kan doen, is de delen in de naam laten corresponderen met de mapstructuur. Anders zijn klassen onvindbaar in de mappen.

Punt 5:
Je hebt wel gelijk, want elke klasse kan een border hebben. Een beter voorbeeld is:
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
<?php
abstract class Organisme {
    protected $leeft = true;
    public function gaDood() { $this->leeft = false; }
    public function leeft() { return $this->leeft; }
}


class Dier extends Organisme {
    protected $loopt = false;
    public function gaLopen() { $this->loopt = true; }
    public function staStil() { $this->loopt = false; }
    public function loopt() { return $this->loopt; }
}


class Plant extends Organisme {
    protected $doetFotosynthese = true;
    public function belicht() { $this->doetFotosynthese = true; }
    public function belichtNiet() { $this->doetFotosynthese = false; }
    public function doetFotosynthese() { return $this->doetFotosynthese; }
}

?>

Een wat abstract voorbeeld, maar ik hoop dat je het begrijpt. Hoewel zowel dieren als planten organismen zijn en dus de gedeelde eigenschappen van organismen hebben, kunnen dieren geen fotosynthese doen en planten niet lopen. Daarom zijn het verschillende klassen.

'Organisme' is abstract, omdat het alleen (in dit voorbeeld) als dier of als plant bestaat, niet als 'organisme'. Een 'dier' bestaat natuurlijk ook niet, maar je snapt het voorbeeld vast.
 
Ozzie PHP

Ozzie PHP

01/02/2011 23:02:09
Quote Anchor link
thanks voor je toelichting Pim. Lijkt me inderdaad logischer dat je dan border als onderdeel van een cel neemt in plaats van als nieuwe class.
 

01/02/2011 23:14:02
Quote Anchor link
Sowieso, een border kan je ook weer als aparte klasse zien...
(Beetje offtopic, maar goed.)
 
Ozzie PHP

Ozzie PHP

01/02/2011 23:16:54
Quote Anchor link
Maar je gaat voor zoiets "kleins" als een border toch niet een aparte class maken? Of wel??
 

01/02/2011 23:21:47
Quote Anchor link
Ik weet niet in wat voor context je denkt. Maar als ik aan html denk, dan zijn er genoeg elementen die gebruik kunnen maken van een border.
Of het klein is maakt niet zoveel uit. Je scheid dan wel mooi alles. Zie ook low coupling high cohesion en GRASP[/google].
Ook moet je maar eens naar bijvoorbeeld de
Dimension klasse van java kijken. Die doet ook niet veel...
(Java wordt toch gezien als de taal om OOP te leren.)
 
Ozzie PHP

Ozzie PHP

01/02/2011 23:23:49
Quote Anchor link
oke... vage shit... krijg je wel erg veel bestanden op deze manier :-/
 
Niek s

niek s

02/02/2011 00:32:18
Quote Anchor link
echt super grappig die topic title :D
zo met die letters, en dan steeds 1 meer :D
 

02/02/2011 00:33:05
Quote Anchor link
Niek s op 02/02/2011 00:32:18:
echt super grappig die topic title :D
zo met die letters, en dan steeds 1 meer :D


LOOOOOOOL
 



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.