OOP construct

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Medior C# Developer

Samen met het development team zorg je ervoor dat alle systemen achter de schermen vlekkeloos werken. Wat doe je als Medior C# Developer bij Coolblue? Als C# developer doe je regelmatig mee aan brainstormsessies over user experience, data en task flow met de UX Designer, Product Owner en Data Scientist in je team. Daarnaast schrijf je op zichzelf staande, consistente en testbare code die goed onderhoudbaar en toekomstbestendig is. Ook C# Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen Werken met verschillende soorten data-opslag, zoals Oracle of AWS. Problemen oplossen

Bekijk vacature »

C# .NET Backend Developer HBO Javascript

Samengevat: Deze werkgever is een professionele speler op gebied van IT en E-Commerce. Wil jij werken voor een e-commerce platform? Heb je ervaring met C#, Javascript en Scrum? Vaste baan: C# .NET Developer Backend E-Commerce 3.400 - 4.500 Backend Developer Wij ontwikkelen software voor E-Commerce toepassingen. Ons eigen Content Management systeem biedt een integrale oplossing met diverse ERP software. Onze systemen zijn vaak complex en omvangrijk en draaien bij grote organisaties. Maar ook kleine ondernemingen hebben steeds vaker behoefte aan een vlekkeloos werkende E-Commerce oplossing. Zij bieden een uitdagende werkomgeving met gezellige collega's. Je krijgt veel vrijheid en er is

Bekijk vacature »

HBO startersfunctie .NET Ontwikkelaar

Functie omschrijving We are looking for a dutch native speaker Ben je in januari 2023 klaar met je HBO opleiding en zoek je een mooie uitdaging? Wacht niet langer en solliciteer direct! Voor een familiebedrijf in de regio van Boxtel ben ik op zoek naar een C#.NET Ontwikkelaar. Jij gaat aan de slag met de (door)ontwikkeling van de maatwerksoftware projecten en gaat ook nieuwe software bouwen, middels de Microsoft-stack. Het bedrijf maakt gebruik van de volgende technieken: C# & ASP.NET; MVC; MS SQL; Entity Framework; Je krijgt hier veel tijd om te leren en eventueel door te groeien en het

Bekijk vacature »

Applicatie ontwikkelaar

Functie omschrijving Zelfstandige applicatie ontwikkelaar gezocht voor familiair bedrijf in omgeving Barendrecht! Ben jij op zoek naar een nieuwe uitdaging en zoek jij een informele werkgever waar je zelfstandig kunt werken binnen een leuk IT team, lees dan snel verder want wie weet zijn wij op zoek naar jou! Binnen deze rol houdt jij je met het volgende bezig: Onderhouden en ontwikkelen van de IT systemen; Opzetten van Azure Cloud systemen, denk aan interfaces, hardware op de Cloud, webportalen of BI functies; Werken aan scripts binnen verschillende software applicaties, denk aan ERP en CAD; Ontwikkelen en implementeren van MS PowerApps

Bekijk vacature »

C# .NET Software Developer

Functie omschrijving Ben jij op zoek naar een nieuwe uitdaging binnen software development waar je gaat werken voor een jong en flexibel bedrijf? Lees dan snel verder! Wij zijn op zoek naar een Software Developer met ervaring binnen C# .NET die enthousiast wordt van het aansluiten en begeleiden van (complexe) nieuwe klanten. Verder begeleid je complexe projecten, ben jij iemand die altijd kansen ziet? Dan zoeken wij jou! In deze functie ga jij je bezighouden met: Meedenken in oplossingsrichtingen; Werken aan de architectuur; Het verbeteren van functionaliteiten binnen het dataplatform; Ontwikkelen van nieuwe technologieën. Bedrijfsprofiel Waar ga je aan de

Bekijk vacature »

Dynamische Oracle/APEX Ontwikkelaar in de logistie

Bedrijfsomschrijving De organisatie in de regio Rotterdam is gespecialiseerd in het ontwikkelen van moderne webbased software voor de ERP branche. In totaal is er 20FTE aan specialisten actief binnen de organisatie. De ICT afdeling bestaat momenteel uit 15FTE. Ze groeien ontzettend hard en daarom zoeken zij een Oracle/APEX Developer die het reeds sterke team nog sterker komt maken. Hier werken ze op projectbasis voor verschillende grote organisaties in de logistieke sector. Het is een informele organisatie waarbinnen een fijne werksfeer heerst. Zoals aangegeven willen ze het team nog sterker maken en daarvoor zoeken ze bij voorkeur medior of senior Oracle/APEX

Bekijk vacature »

Machine Software Developer

Bij een bedrijf in de machinebouw, regio Roosendaal, zijn we op zoek naar een: Machine Software Developer Waar ga je werken? Onze opdrachtgever is gespecialiseerd in de grondverzetmachines. Al meer dan 50 jaar leveren ze zowel nationaal als internationaal diverse machines. Het is een familiebedrijf met een informele werksfeer. Wat ga je doen? Als Machine Software Developer ben je verantwoordelijk voor: - Je ontwerpt, ontwikkelt en debugt software voor machinebesturingssystemen en complexe landbouwmachines; - Je stelt gebruikersinterfaces op (cabinedisplays); - Op termijn ga je softwareprojecten leiden voor specifieke machines; - Inclusief planning, documentatie en validatie; - Om specificaties te verifiëren

Bekijk vacature »

Full stack developer Node.js, React Remote

Functie Als fullstack JavaScript developer vind jij het uitdagend om op basis van concrete klantvragen nieuwe functionaliteiten te ontwikkelen. Bij voorkeur worden deze functionaliteiten op een bepaalde manier geprogrammeerd, zodat ze door meerdere klanten te gebruiken zijn. Je hebt dus vaak te maken met abstracte vraagstukken. Om dit te kunnen realiseren sta je nauw in contact met de product owner en/of klant. Je bent niet alleen onderdeel van het development team, maar hebt ook vaak contact met de product-owner en/of klanten om daardoor inzichten te verzamelen die leiden tot productverbeteringen. • Inzichten verzamelen bij de klant en/of product owner •

Bekijk vacature »

Back-end Developer

Functieomschrijving Heb jij kort geleden je HBO ICT Informatica diploma in ontvangst mogen nemen? Of heb je een aantal jaar ervaring als Software Developer en ben je klaar voor een nieuw hoofdstuk in jouw carrière? Voor een gewaardeerde werkgever in de regio van Goirle zijn wij op zoek naar een junior/medior Back-end Developer met affiniteit met MS Acess. Samen met een vooruitstrevend team ben je verantwoordelijk voor het ontwikkelen van maatwerk software voor hun klanten. Je hebt kennis of ervaring van SQL en affiniteit met MS Acess. Je bent klantvriendelijk en flexibel ingesteld en vindt het leuk om klanten te

Bekijk vacature »

Front-end Developer

Dit ga je doen Doorontwikkelen van software; Ontwikkelen en testen van nieuwe functionaliteiten; Implementaties van nieuwe functionaliteiten en updates; Verzorgen van technische migraties naar nieuwe frameworks; Verwerken van incidenten. Hier ga je werken Onze klant, gevestigd in de regio Amsterdam, draagt bij aan het verbeteren van de veiligheid en efficiëntie van de Nederlandse infrastructuur door het ontwikkelen van afgemeten software oplossingen. Zo passen zij location intelligence toe om onderhoud en reparaties efficiënt te laten verlopen. Verder zorgen deze systemen dat incidenten zo snel mogelijk worden opgelost. Als Front-end Developer ben jij samen met je team betrokken met het (door)ontwikkelen van

Bekijk vacature »

C++ Ontwikkelaar

Functieomschrijving Ben jij als software ontwikkelaar toe aan een nieuwe uitdaging? Dan zoeken wij jou! Voor het maken van de procesbesturingssoftware gebruiken onze projectteams een in C++ en C# geschreven tool. Dit is een gedistribueerd object framework wat alle kernfuncties biedt voor een procesautomatisering. Verder zullen jouw werkzaamheden o.a. bestaan uit: Ontwerpen, programmeren en testen van product aanpassingen; Analyseren van vragen en wensen van gebruikers en deze vertalen naar een functioneel ontwerp; Inzichtelijk maken van voortgang omtrent softwarewerkzaamheden, o.a. door middel van SCRUM; Continu toetsen van het effect van nieuwe releases op andere tools en processen; Implementeren van nieuwe product

Bekijk vacature »

Medior PHP Developer

Functie omschrijving We are looking for a dutch native speaker Wil jij als developer werken bij een interne organisatie en de eigen software verder helpen ontwikkelen? Lees dan snel verder! In deze functie ga je werken als PHP Developer en de interne software en applicaties verder ontwikkelen. In het kort houdt dit in: Je gaat de interne applicaties en software verder optimaliseren. Verder bouw je verschillende API's en koppelingen tussen systemen. Je gaat het CRM-systeem door middel van PHP verder ontwikkelen. Ook ga je collega's ondersteunen bij vragen over de software en applicaties. Bedrijfsprofiel Dit bedrijf is actief in het

Bekijk vacature »

Software Developer C# .NET

Functie omschrijving Zoek jij een nieuwe uitdaging binnen development waar je komt te werken binnen een flexibel, jong en ondernemend bedrijf? Wij zijn voor deze functie op zoek naar een C# .NET Developer die enthousiast wordt van het aansluiten en begeleiden van (complexe) nieuwe klanten. Verder begeleid je complexe projecten, ben jij iemand die altijd kansen ziet? Dan zoeken wij jou! Verder ga jij je bezighouden met: Het verbeteren van functionaliteiten binnen het dataplatform; Meedenken in oplossingsrichtingen; Werken aan de architectuur; Ontwikkelen van nieuwe technologieën. Bedrijfsprofiel Waar ga je werken? De organisatie waar je voor gaat werken heeft een onafhankelijk

Bekijk vacature »

Junior .NET developer

Functie Als junior .NET ontwikkelaar start jij in ons development team met twee andere .NET developers. Als team werken jullie in scrum en is er iedere ochtend om 11.00 een standup. Jij krijgt als junior .NET ontwikkelaar een inwerk traject dat echt specifiek wordt ingericht op basis van wat jij nodig hebt. Een van de grootste pluspunten bij ons is dat wij binnen ons bedrijf veel (technische) vrijheid geven en juist eigen initiatieven erg stimuleren. Jouw werkzaamheden gaan er bij ons als volgt uit zien: – Het ontwikkelen van nieuwe software samen met interne en eventueel externe ontwikkelaars; – Het

Bekijk vacature »

PHP Back-end Developer

Vacature details Vakgebied: Software/IT Opleiding: Starter Werklocatie: Nijmegen Vacature ID: 13633 Introductie OUr client develop websites, webshops, and digital environments that are used by many visitors daily. They are seeking an experienced PHP-Developer Back-end to join the team. If you're looking for a position where you can tackle challenging, innovative, and multidisciplinary ICT projects and make a difference, this vacancy might be for you! Functieomschrijving As a PHP developer, you'll develop websites and digital environments used by many visitors daily. You'll work as a back-end developer and want to continuously develop in this field. You can work independently and efficiently,

Bekijk vacature »
Ozzie PHP

Ozzie PHP

08/03/2013 23:10:10
Quote Anchor link
Ola,

Ik heb een OOP vraagje... ik heb een class waarin je parameters kunt opslaan. Nu kun je via de constructor al een array met parameters meegeven en je kunt via een boolean de parameters freezen. Grofweg ziet de constructor er zo uit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
public function __construct($parameters = array(), $freeze = false) {
  if (!empty $parameters) $this->setParameters($parameters);
  if ($freeze === true) $this->freeze();
}

?>

Nu vraag ik me eigenlijk af... ik heb eens gelezen dat de constructor bedoeld is om NOODZAKELIJKE handelingen te verrichten. In de bovengenoemde constructor worden eigenlijk geen NOODZAKELIJK handelingen verricht. Het is vooral heel erg HANDIG.

Waarom is het handig? In plaats van dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$some_collection
= new ParameterBag();
$some_collection->setParameters($parameters);
$some_collection->freeze();
?>


... kan ik nu dit doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$some_collection
= new ParameterBag($parameters, true);
?>

Maar nu vraag ik me af... is het eigenlijk wel correct OOP om de constructor voor dit soort "handigheidjes" te gebruiken?

Graag jullie reactie.
 
PHP hulp

PHP hulp

01/01/2025 08:48:34
 
Wouter J

Wouter J

08/03/2013 23:17:29
Quote Anchor link
Natuurlijk mag je ook wat slimme handige dingetjes doen. Waarom denk je anders dat mensen zo houden van het retourneren van $this om method chaining toe te passen? Volstrekt fout volgens OO 'regels', maar extreem handig voor het programmeren.

Wat ik alleen niet erin zou doen is het freezen van de bag, dat lijkt me niet iets wat in een constructor thuis hoort. In principe is de Bag dan nooit ontdooid geweest en dat klinkt voor mij niet goed.
 
Ozzie PHP

Ozzie PHP

08/03/2013 23:28:41
Quote Anchor link
Wouter, oké. Dus handigheid aanbrengen in de constructor is op zich geen probleem? Maar is dat wel volgens de regels van OOP eigenlijk? Hoe hoort het volgens officieel OOP?

Zo:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$some_collection
= new ParameterBag();
$some_collection->setParameters($parameters);
$some_collection->freeze();
?>

of zo?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$some_collection
= new ParameterBag($parameters, true);
?>


Jouw laatste opmerking begrijp ik niet helemaal. Ik heb de class property "freezed" op false staan, dus dat is de default instelling. Via de constructor kun je de parameterbag dan direct freezen nadat je de parameters hebt geset.
 
Wouter J

Wouter J

09/03/2013 00:07:30
Quote Anchor link
Er is geen officieel OOP (ik hOOP dat je dat ondertussen wel door hebt), dus niemand kan een antwoord daarop geven.

Ik kan alleen zeggen dat ik het zo zou doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$parameters
= new ParameterBag($parameters);
$parameters->freeze();
?>
 
Ozzie PHP

Ozzie PHP

09/03/2013 00:35:20
Quote Anchor link
Ah oké, thanks... ik dacht dat wellicht de constructor een soort "vaste" bedoeling had. "De constructor is bedoeld om..." zoiets zeg maar.

Maar dat is dus niet zo.

Oké, laatste vraag nog... waarom zou jij die "freeze" niet in de constructor doen? Ik zie het verschil niet helemaal. Waarom wel $parameters in de constructor, maar waarom $freeze niet? Het zijn allebei class properties. $parameters wordt geinitialiseerd (of hoe noem je dat ook alweer) op een lege array en $freeze op false. Dit bedoel ik dus:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
private $freeze = false;
private $parameters = array();
?>

Waarom zou je dan de een wel via de constructor kunnen beinvloeden en de ander niet? Of is dat meer een soort van "gevoel" wat je daarbij hebt? En zo ja, kun je dat dan omschrijven?
Gewijzigd op 09/03/2013 00:36:28 door Ozzie PHP
 
Wouter J

Wouter J

09/03/2013 00:40:46
Quote Anchor link
Ja, het is een gevoel.

Het freezen is gemaakt zodat je een bag kunt veranderen, toevoegen, verwijderen, ect. en dan zegt: 'Oké, nu is alles gedaan wat gedaan moest worden, nu is het READ ONLY.' Dan zeg je $bag->freeze(). Het voelt voor mij vreemd om in een constructor, ook wel initialize method, al meteen de bag op slot te zetten. Het is dan alsof je een nieuw Word documentje opent en die direct op READ ONLY set, daar heb je niks aan :). (nu klopt dat natuurlijk niet, omdat je ook al parameters hebt toegevoegd, maar het was een schets van mijn gevoel)
 
Ozzie PHP

Ozzie PHP

09/03/2013 03:47:23
Quote Anchor link
Aha, oké... dankjewel voor de toelichting. Dat is dan een verschil in interpretatie. Ik set de data en freeze vervolgens, maar ik kan de get functies natuurlijk nog gewoon gebruiken. Verschilletje van interpretatie, maar niet heel spannend dus in dit geval.

Offtopic:

Net James Bond (Skyfall) gekeken... vette film :-)
 



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.