[oop] lege class

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior Airport Developer ( System engineer)

De functie Nice to know (you) De nieuwe A-pier wordt de duurzaamste van Schiphol. Als deze af is ligt er 4000 vierkante meter zonnepanelen op het dak. En de toiletten? Die spoelen door met regenwater. we gaan ervoor: het creëren van de meest duurzame en hoogwaardige luchthavens ter wereld. een toekomstbestendig en duurzaam Schiphol. Daar werken we elke dag hard aan in team Development & Sustainability. Jij bent regisseur, expert én aanjager van de ontwikkeling van Schiphol. Connecting your world Hoe maak je de ambities en doelstellingen van Schiphol concreet in een project? De waarde voor Schiphol naar eisen die

Bekijk vacature »

Lasrobot Programmeur

Over de functie Off-line programma’s maken die het beste resultaat bij de lasrobot mogelijk maken De programma’s met behulp van teach verder optimaliseren Proactief meedenken over oplossingen en over de juiste invulling van lasmallen Het lasrobotproces zoveel mogelijk optimaliseren Over het bedrijf Onze opdrachtgever is gespecialiseerd in de engineering, productie en assemblage van samengestelde plaatwerkproducten en monodelen uit metaal. Onze klant werkt samen met het team aan de mooiste producten van de toekomst. Binnen dit bedrijf staat een sterk team van specialisten op het gebied van industrial design, mechanical engineering, in-house prototyping en all-round projectmanagement. Met daarbij uiteenlopende kennis in

Bekijk vacature »

PHP Programmeur

Functieomschrijving Vanuit het hoofdkantoor in omgeving Breda, ontwikkel je als PHP programmeur niet alleen webapplicaties, maar ben je verder ook gefocust op het constant inspelen op nieuwe innovaties m.b.t software ontwikkeling. Naast het ontwikkelen van webapplicaties, bouwt deze toffe werkgever ook webshops en websites voor hun opdrachtgevers. Wat ga je doen? Het testen van ontwikkelde applicaties om te zorgen dat ze goed functioneren en voldoen aan de eisen van de klanten; Het ontwerpen en implementeren van webapplicaties met het Symfony framework; Het schrijven van een schone en efficiënte code volgens het Symfony framework; Onderhouden en updaten van bestaande applicaties die

Bekijk vacature »

Team Lead/ Lead developer gezocht (Hands-on, PHP,

Functie Als Team Lead ben je de leider van één van de ontwikkelteams binnen de organisatie. Je leidt als lead developer een goed draaiend team dat werkt aan complexe en duurzame applicaties en API’s. Vanuit je kennis en ervaring ben je in staat het grote plaatje te blijven overzien, en kritisch mee te denken over bijvoorbeeld de architectuur, maar ook de algehele aanpak binnen het project. Je laat je team niet alleen technisch goed functioneren maar ben ook betrokken bij het menselijke aspect. Zo weet jij je collega’s te motiveren en begeleiden in hun dagelijkse werk. Buiten het team ben

Bekijk vacature »

Java Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Eindhoven Vacature ID: 12946 Introductie We are looking for a Java Developer! Our client is one of the most innovation companies located within the Netherlands. We provide high quality software in a high-tech and challenging market. Functieomschrijving The department is specialized in creating and developing high quality software for manufacturing automation in a high tech environment. We strive to provide our clients with high quality software and deliver state of the art solutions in a variety of ways. Creating software infrastructure using Java SE / EE Create applications to fine tune manufacturing processes

Bekijk vacature »

Front-end Developer

Onze klant is sinds 2 jaar actief als adviseur en bemiddelaar in de verzekeringsmarkt. Sindsdien proberen zij deze slapende markt flink wakker te schudden. Dit willen zij doen door het bouwen van slimme vergelijkers op hun eigen website en die van partners. Het bedrijf wil continu voorop lopen, zodat consumenten eenvoudig de verzekeringen kunnen vinden die het beste bij ze past. Functieomschrijving Als Front-end Developer werk je aan vergelijkingsmodules die consumenten dagelijks gebruiken bij het vergelijken en afsluiten van verzekeringen. Je vindt het leuk om samen te werken met de product owner, bestaande modules te verbeteren en nieuwe vergelijkers "from

Bekijk vacature »

Fullstack Software Developer

Bedrijfsomschrijving Functieomschrijving Java ontwerpen, bouwen en testen (T-shaped). Als senior ontwikkelaar ben je bekend in zowel de back-end als de frontend van een applicatie. Angular, Continious Delivery / Integration. Een ervaren iemand die de leiding kan nemen, een weg vindt in nieuwe situaties, en in oude applicaties. Initiatiefrijk, bekend met de (technische) omgevingen die we bij duo gebruiken, niet te beroerd om collega’s te helpen. Als senior programmeur in staat om op te treden als lead programmeur. Ondersteunt de testers bij de testautomatisering en minder ervaren programmeurs bij dagelijks werkzaamheden. Dit laatste met name op het gebied van Angular. Achtergrond

Bekijk vacature »

Ambitieuze medior developer

Wat je gaat doen: Heb jij al een paar jaar ervaring als developer maar wil jij naar the next level? In ons NextLevelDev Programma helpen wij jou om de volgende stap te zetten: een mooi programma aan trainingen op het gebied van Java, hippe frameworks, Agile/Scrum, OCP-certificering en optioneel: andere JVM-talen als Kotlin en Scala; Cloud (AWS, Azure, GCP) Soc Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun

Bekijk vacature »

Java Developer

Dit ga je doen Als Java Developer ben je verantwoordelijk voor: Het ontwikkelen van nieuwe en bestaande webservices; Het uitbreiden van functionaliteiten binnen de producten- en dienstenportefeuille; Het werken aan gegevensuitwisseling met bijvoorbeeld SOAP; Testen van frameworks met gebruik van UNIT en Selenium. Hier ga je werken De organisatie waar je komt te werken is een semi-overheidsinstelling, gesitueerd in Utrecht en zorgt voor een goede samenwerking tussen verschillende overheidsinstanties. Het is een familiaire club die gaat voor kwaliteit en langdurige relaties. Zo zorgen zij ervoor dat er op grote schaal vertrouwelijke informatie tussen verschillende overheidsinstellingen wordt uitgewisseld. Hun werk zorgt

Bekijk vacature »

Fullstack of back-end PHP developer

Functie Ieder onderdeel van de software draait op aparte servers en het bestaat dus echt uit verschillende componenten. Het team bestaat uit 4 developers, een klein team dus met korte lijnen. Alles in intern ontwikkeld en je werkt aan alle facetten. Van uitbreiding van de core tot maatwerk voor de klant. Ook liggen er verschillende uitdagingen op servervlak en databases. Je zult de eerste periode veel samenwerken met de lead developer om vervolgens echt je gang te gaan binnen de software. In het team streven ze naast de hoogst haalbare kwaliteit. Hiervoor werken ze nauw met elkaar samen en levert

Bekijk vacature »

Low Code Developer - Consultant

Functie omschrijving Wil jij fungeren als een spin in het web en samenwerken met klanten? Voor een leuke en interessante opdrachtgever in omgeving Leiden zijn wij op zoek naar een Low Code developer die zich bezig gaat houden met het optimaliseren van bedrijfsprocessen bij klanten en het leiden van projecten. Ben jij toe aan een nieuwe uitdaging en heb jij verstand van datamodellering en NO CODE Platformen? Lees dan snel verder! Bij deze rol horen de volgende werkzaamheden: Je gaat geen code kloppen maar bedenken hoe applicaties eruit moet komen te zien. Je gaat werken met een non code platform,

Bekijk vacature »

Network Engineer (f/m/d) in Heidelberg

Network Engineer (f/m/d) The IT Services team operates and supports the IT infrastructure and services at EMBL headquarters in Heidelberg and at the laboratory’s sites in Barcelona and Rome. As part of IT Services, the Network team is responsible for managing and developing the network infrastructure in our data centres, on campus, and to our external network providers. As a leading scientific institution with highly data-intensive research, extensive data flows at and between the laboratory’s six sites and to the Internet, EMBL is connected to national and international scientific networks using state-of-the-art technologies from vendors including Cisco, Extreme Networks and

Bekijk vacature »

Front-end React developer

Functie Het frontend team bestaat momenteel uit 4 dedicated front-enders en is hard aan het groeien! Ook werken er diverse designers waar je veel mee schakelt. Samen leveren jullie een essentiële bijdrage aan de applicaties die ze voor hun klanten realiseren, jij bent hierin de schakel tussen de eindgebruiker en de slimme backend. Je werkt in het frontend team samen met de backend teams en product owners om te zorgen dat onze applicaties een fijne gebruikerservaring opleveren. Ze werken o.a. met: React, Atomic design, Styled components, JavaScript / TypeScript, NPM, Webpack Blade templates, HTML, SCSS, Git flow. Eisen • HBO

Bekijk vacature »

Java Developer

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

Low-Code Expert/Developer: Power Platform Speciali

Bedrijfsomschrijving Als Low-Code Expert/Developer bij ons innovatieve bedrijf, neem je een cruciale rol op je in de creatie, ondersteuning en implementatie van diverse oplossingen met behulp van het veelzijdige Power Platform. Dit platform omvat Power Apps, Power BI, Power Automate, Power Virtual Agent en Azure Logic Apps. Het Power Platform biedt je de mogelijkheid om klanten te voorzien van naadloze integraties door op maat gemaakte oplossingen te creëren die compatibel zijn met (bijna) alle bestaande software-infrastructuren. Dankzij het uitgebreide scala aan toepassingen, krijg je de kans om als architect en projectleider van je eigen oplossing te fungeren. Dompel jezelf onder

Bekijk vacature »

Pagina: 1 2 3 4 volgende »

Ozzie PHP

Ozzie PHP

07/03/2014 20:52:51
Quote Anchor link
Stel ik maak een algemene class om data in op te slaan. Vervolgens wil ik ook een class maken om configuratiegegevens in op te slaan. Daar kan ik eigenlijk perfect de algemene Data class voor gebruiken.

Nu vraag ik me iets vreemds af. Wat is nu wijsheid. Om voor de configuratie gebruik te maken van de algemene data class? Dus:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$config_settings
= new Data();
?>

Of is het slimmer om toch een aparte Config class te maken die de Data class extend?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
class Config extends Data {

}


$config = new Config();
?>

Nu hebben we wel een aparte Config class, maar deze is wel leeg. Er staan geen methods is. Wat zou jullie voorkeur hebben?
 
PHP hulp

PHP hulp

27/11/2024 20:13:49
 
Ozzie PHP

Ozzie PHP

09/03/2014 01:30:56
Quote Anchor link
* bump *

iemand?
 
- Raoul -

- Raoul -

09/03/2014 14:01:09
Quote Anchor link
1) En wat staat er in die data class?

2) Waar voor, behalve voor config, zou je de Data class nog willen voor gebruiken?

(dit is een slecht idee)
 
Ozzie PHP

Ozzie PHP

09/03/2014 14:34:05
Quote Anchor link
>> (dit is een slecht idee)

Omdat? Als je zegt dat iets een slecht idee is, dan is het wel prettig als je ook aangeeft waarom.

Die data class heeft gewoon wat algemene methods add,get,has,delete. Die kan ik bijv. ook gebruiken om paden in op te slaan, of routes en dat soort dingen. Een container class zeg maar.

Ik kan ook voor alle classes een aparte container class maken met dezelfde functies, maar dat lijk me in ieder geval niet echt slim.
 
- Raoul -

- Raoul -

09/03/2014 15:18:32
Quote Anchor link
Ozzie PHP op 09/03/2014 14:34:05:
>> (dit is een slecht idee)

Omdat? Als je zegt dat iets een slecht idee is, dan is het wel prettig als je ook aangeeft waarom.


Dan zou ik het wel prettig vinden als je eerst op m'n vragen antwoord voor je met zulke reacties gaat afkomen. Zo kan ik namelijk afleiden of het een goed, of, slecht idee is. Maar op het eerste zicht lijkt dit op een slecht idee. Vandaar mijn bericht.

Toevoeging op 09/03/2014 15:19:51:

Ozzie PHP op 09/03/2014 14:34:05:
Die data class heeft gewoon wat algemene methods add,get,has,delete. Die kan ik bijv. ook gebruiken om paden in op te slaan, of routes en dat soort dingen. Een container class zeg maar.


Je bedoelt een array in class vorm?
 
Ozzie PHP

Ozzie PHP

09/03/2014 15:22:58
Quote Anchor link
>> Je bedoelt een array in class vorm?

Zo zou je het kunnen zien. Je hebt een class property $data en dat is een array. Wil je iets uit die array hebben dan krijg je dus $config->get('foo').

>> Dan zou ik het wel prettig vinden als je eerst op m'n vragen antwoord voor je met zulke reacties gaat afkomen. Zo kan ik namelijk afleiden of het een goed, of, slecht idee is.

Dan moet je niet gelijk al zeggen dat het slecht is :) Krijg bijna een hartverzakking ;)
 
- Raoul -

- Raoul -

09/03/2014 15:25:07
Quote Anchor link
Waarom wil je een aparte class als je ook gewoon een array kunt returnen? Jij, die altijd zo opgefokt bent door performance (neem dit niet persoonlijk ;-))! Dit zal je script namelijk vertragen als je al je arrays gaat vervangen met classes.

Ozzie PHP op 09/03/2014 15:22:58:
Dan moet je niet gelijk al zeggen dat het slecht is :) Krijg bijna een hartverzakking ;)


Dan krijg je wel snel een hartverzakking hoor....
 
Ozzie PHP

Ozzie PHP

09/03/2014 15:28:59
Quote Anchor link
Nee, gewoon een array gebruiken dat is toch geen OOP :-/

Je gebruikt een container om meerdere values of objecten op te slaan. Daar gebruik je geen array voor. Misschien bij procedureel programmeren, maar bij OOP echt niet.
 
Wouter J

Wouter J

09/03/2014 15:30:53
Quote Anchor link
Nooit een array gebruiken? Oei, wat een veel te veel doorgedrukte object gedachte heb je. Het gaat bij OO niet om zoveel mogelijk objecten hebben, dat begrijp je hopelijk? Het gaat in OO om objecten te gebruiken waar nodig. Om het sterker te maken: zo min mogelijk objecten met de grootste SRP, dat is het doel van OO.
 
- Raoul -

- Raoul -

09/03/2014 15:30:56
Quote Anchor link
Oke... dit is nu iets anders, je wilt nu een registry class maken?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
class Config extends Data {


Dan zou ik Config implementeren ArrayAccess. Je wilt namelijk meestal voor ieder "data-object" een andere implementatie.

Toevoeging op 09/03/2014 15:34:18:

Wouter J op 09/03/2014 15:30:53:
Nooit een array gebruiken? Oei, wat een veel te veel doorgedrukte object gedachte heb je. Het gaat bij OO niet om zoveel mogelijk objecten hebben, dat begrijp je hopelijk? Het gaat in OO om objecten te gebruiken waar nodig. Om het sterker te maken: zo min mogelijk objecten met de grootste SRP, dat is het doel van OO.


Laten we ook al dan direct strings afschaffen, is ook geen OO ;-)
 
Ozzie PHP

Ozzie PHP

09/03/2014 15:38:10
Quote Anchor link
>> Nooit een array gebruiken?

Dat zei ik dus niet :-/
Ik bedoel dat een array geen vervanging is voor een class.

We gaan toch niet dit doen $foo = $config['foo'], maar wel dit $foo = $config->get('foo'). Of ben ik nou gek?

>> Oke... dit is nu iets anders, je wilt nu een registry class maken?

Zo zou je het kunnen noemen als het dat makkelijker maakt om te begrijpen. In feite wil ik een class die bij elkaarhorende values/objecten vasthoudt. Ik wil bijv. een class die al mijn paden vasthoudt, en als ik dan het pad naar de images nodig heb, dan doe ik $paths->get('images').

>> Dan zou ik Config implementeren ArrayAccess. Je wilt namelijk meestal voor ieder "data-object" een andere implementatie.

Ik snap niet wat je hier mee bedoelt.
 
- Raoul -

- Raoul -

09/03/2014 15:38:43
Quote Anchor link
Zoek eens op wat ArrayAccess is dan.
 
Wouter J

Wouter J

09/03/2014 15:46:28
Quote Anchor link
>> We gaan toch niet dit doen $foo = $config['foo'], maar wel dit $foo = $config->get('foo'). Of ben ik nou gek?

Als Data#get() geen meerwaarde toevoegt behalve het uit een array halen zou ik gewoon lekker $config['foo'] doen. Een klasse als dit is zinloos:
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
class Data
{
    protected $data = array();

    public function set($id, $data)
    {

        $this->data[$id] = $data;
    }


    public function get($id)
    {

        return $this->data[$id];
    }


    public function has($id)
    {

        return isset($this->data[$id]);
    }
}

?>


En wat ArrayAccess hiermee te maken heeft is ook voor mij onduidelijk, dan ga je een object maken die om een array heen zit en die ga je vervolgens weer als array gebruiken. Leg mij dan eens het nut uit van dat object, raoul :P
 
Ozzie PHP

Ozzie PHP

09/03/2014 15:47:06
Quote Anchor link
Dat heb ik gedaan, maar ik zie het verband niet. Ook dat jij zegt dat ieder data-object een andere implementatie krijgt snap ik niet, want het is gewoon telkens dezelfde "container" waar je iets in opslaat. Hooguit kan ik me voorstellen dat er heel soms iets toegevoegd moet worden, maar over het algemeen kun je dus zeggen dat het een container is waarin je values of objecten opslaat. Zo zou je dus een "container" kunnen hebben voor paden, configuratiesettings, routes enz. Die containers houden dus respectievelijk meerdere paden, configuratiesettings, en route objecten vast, maar die container is altijd dezelfde.

Nu gaat het er mij dus om... ik heb dus zo'n algemene container. Stel dat ik die wil gebruiken om bijv. configuratiesettings in op te slaan, gebruik ik dan die algemene container? Of maak ik een nieuwe (lege) Config class die de algemene container extend?

Toevoeging op 09/03/2014 15:54:30:

@Wouter

>> Een klasse als dit is zinloos:

Mwa, dat vind ik niet. Ik werk liever met een container object dat andere values of objecten vasthoudt dan met een array. Bovendien kun je bij het gebruik van een array geen exceptions gooien.

Bovendien vind ik dit mooier...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$images
= $this->container->get('paths')->get('images');
?>

... dan dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$paths
  = $this->container->get('paths');
$images = $paths['images'];
?>

Maar goed, wellicht is dat een kwestie van smaak.
Gewijzigd op 09/03/2014 15:55:02 door Ozzie PHP
 
Wouter J

Wouter J

09/03/2014 16:14:36
Quote Anchor link
>> Ik werk liever met een container object dat andere values of objecten vasthoudt dan met een array

Waarom? Wat voor toegevoegde waarde biedt dat ten opzichte van een array, behalve dat je het er mooier uit van zien? (gewoon uit interesse, je weet mijn mening over dit onderwerp toch al :P)
 
Ozzie PHP

Ozzie PHP

09/03/2014 17:51:50
Quote Anchor link
Woute, ik snap het niet. Jij bent altijd degene die zegt dat je alles in classes moet stoppen. Nu doe ik dat, is het weer niet goed?

P.s. wat is precies een element in een array? Is dat hetzelfde als een value, of is het de combinatie van key en value?
 
Wouter J

Wouter J

09/03/2014 18:12:16
Quote Anchor link
>> Jij bent altijd degene die zegt dat je alles in classes moet stoppen. Nu doe ik dat, is het weer niet goed?

Alles in classes? Ik hoop het niet. Plaats het in klasses wanneer nodig, wanneer je bijv. de waarde eerst moet valideren voordat hij in de array komt. Of wanneer je altijd een error wilt wanneer je 2 dezelfde IDs in een array zet.
 
Ozzie PHP

Ozzie PHP

09/03/2014 18:56:02
Quote Anchor link
Okeej... dan klopt het in ieder geval wat ik doe. Helaas weet ik nog steeds het antwoord op m'n vraag niet... :(

Quote:
Nu gaat het er mij dus om... ik heb dus zo'n algemene container. Stel dat ik die wil gebruiken om bijv. configuratiesettings in op te slaan, gebruik ik dan die algemene container? Of maak ik een nieuwe (lege) Config class die de algemene container extend?
 
- Raoul -

- Raoul -

09/03/2014 20:04:59
Quote Anchor link
Ozzie PHP op 09/03/2014 17:51:50:
Jij bent altijd degene die zegt dat je alles in classes moet stoppen. Nu doe ik dat, is het weer niet goed?


Wat lekker ondankbaar weer hoor ;')....

Je weet je antwoord op je vraag wél al. We zitten het hier al de hele tijd te verkondigen.

Neen: in dit geval heb je geen speciale klasse nodig. Jij gaat niet akkoord met ons, stop dan met vragen stellen en doe het zoals jij het wilt.
Gewijzigd op 09/03/2014 20:05:29 door - Raoul -
 
Ozzie PHP

Ozzie PHP

09/03/2014 20:14:01
Quote Anchor link
>> Je weet je antwoord op je vraag wél al.

Nee, eigenlijk niet.

Ik zal m'n vraag eens anders proberen te stellen. Stel, je hebt een algemene class Foo die iets doet. Nu wil je die algemene class gebruiken voor een specifieke toepassing. Als ik dit vertaal in een voorbeeld, krijg je bijvoorbeeld dit. Het gaat niet om het exacte idee, maar om de gedachte.

Stel we hebben een algemene class Auto. Die kunnen we gewoon ergens voor gebruiken: $auto = new Auto(). Nu wil ik op een gegeven moment een Ford maken, maar die class is hetzelfde als de class Auto. Dus ik zou kunnen zeggen $ford = new Auto(). Ik zou ook een class Ford kunnen maken die ik de class Auto laat extenden en waar ik verder geen andere methods in plaats. Of misschien is het het handigst om de Auto class abstract te maken. Daar zat ik dus even over te denken. Maar laat anders maar zitten, ik verzin wel wat... thanks voor het meedenken in ieder geval.
 
Dos Moonen

Dos Moonen

09/03/2014 20:22:08
Quote Anchor link
Exception wordt best vaak geëxtend zonder verder iets toe te voegen. Andere use cases ken ik volgens mij niet.
Gewijzigd op 09/03/2014 20:47:48 door Dos Moonen
 

Pagina: 1 2 3 4 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.