[oop] objecten meegeven?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software developer - C Sharp

Functie omschrijving Voor een opdrachtgever, met een prachtig kantoor in omgeving Wateringen zijn wij op zoek naar een software ontwikkelaar die graag werkt met C#, JAVA of Oracle. Heb jij interesse in het programmeren en ontwikkelen van software? En heb jij enige ervaring met Oracle databases en PL/SQL? Als software developer werk je met je collega's samen in een leuk en informeel team aan het (her)ontwerpen van bedrijfssystemen. Je houdt je bezig met het ontwikkelen van REST API's en je onderhoudt applicaties in Oracle PL/SQL en APEX. Vind jij het leuk om in een Agile/Scrum omgeving te werken? Wil jij

Bekijk vacature »

Software Developer Mendix / Maatschappelijk Betrok

Dit ga je doen Het bouwen van de Mendix applicaties in samenwerking met jouw team of zelfstandig; Werken met Scrum methodiek; Ontwikkelen van vooruitstrevende oplossingen; Meedenken over nieuwe applicaties en ontwikkelingen; On the job eigen maken van de Mendix omgeving. Hier ga je werken Deze dynamische en snelgroeiende organisatie begeeft zich in de recyclingbranche. Zij nemen op duurzame en efficiënte manier de recycling op zich. Vanwege hun snelle groei zijn zij op zoek naar een young professional die zich graag wilt ontwikkelen als Mendix Developer. Je komt te werken binnen een IT team van +/- 15 medewerkers. Het huidige ‘vaste’

Bekijk vacature »

Ervaren PHP developer gezocht!

Functie Het team bestaat inmiddels uit zo’n 25 collega’s met specialisten op het gebied van development, data(analyse), marketing, infrastructuur en finance. Ze hebben een supermodern pand en bieden hiernaast veel vrijheid en verantwoordelijkheid. Ze doen er alles aan om jou op te gemak te stellen. Zo kun je je eigen werkplek inrichten naar persoonlijke wensen, maar gaan ze bijvoorbeeld ook jaarlijks met elkaar wintersporten en zijn er andere leuke uitjes. Als onderdeel van één van de scrumteams ga je aan de slag, samen ben je medeverantwoordelijk voor het doorontwikkelen van hun business applicatie waar het traffic team dagelijks mee werkt.

Bekijk vacature »

.NET Developer

Functie omschrijving Ben jij een senior .NET developer en heb jij tevens ervaring als teamlead? Ben jij iemand met een helikopterview en denk jij graag mee met de klanten? Dan zijn wij op zoek naar jou! Voor een geweldig bedrijf zijn wij namelijk op zoek naar een ervaren .NET developer. Het bedrijf houdt zich bezig met het ontwerpen en bouwen van websites, portalen en applicaties voor met name zorg- en onderwijsinstellingen en overheidsinstanties. Jouw taken: Het fungeren als Lead Developer; Het meedenken met de business (dit vergt commercieel inzicht); Het begeleiden van diverse projecten (van klein tot groot); Het ontwerpen

Bekijk vacature »

Mendix Consultant / Developer

Dit ga je doen Het in kaart brengen en analyseren van de functionele wensen van de klant rondom Mendix applicaties; Het fungeren als sparringpartner voor de (interne) klanten; Het opstellen van requirements en het vertalen hiervan naar technische mogelijkheden; Het opstellen van user stories; Het bouwen van de Mendix applicaties in samenwerking met jouw team of zelfstandig; Het testen van op te leveren software en het zorg dragen voor de implementatie; Trainen van gebruikers in het gebruik van de applicatie; Werken in een Agile omgeving. Hier ga je werken De organisatie begeeft zich in de retail branche en focust zich

Bekijk vacature »

Creatieve Front-end developer gezocht!

Functie Het front-end team bestaat momenteel uit 4 collega’s en is hard aan het groeien! Samen leveren jullie een essentiële bijdrage aan de applicaties die ze voor hun klanten realiseren. Je werkt in het front-end team samen met de back-end teams en product owners om te zorgen dat de applicaties een fijne gebruikerservaring opleveren. Jouw expertise zorgt ervoor dat de juiste keuzes gemaakt worden qua techniek en ontwerp, van back-end tot aan gebruiker. In samenspraak met je team bepalen jullie de beste keuze voor techniek. Ook is er altijd ruimte om nieuwe technieken te ontdekken. Eisen • Je hebt gedegen

Bekijk vacature »

Intern - Junior PHP ontwikkelaar in fris en jong t

Bedrijfsomschrijving Werk jij graag een in fris, flexibel en jong team? Bij ons ben jij vrij om te bepalen waar jij het liefst werkt en op de vrijdag komen wij gezellig bij elkaar op kantoor. Flexibiliteit en vrijheid zijn bij ons de norm en dat geeft jou de ruimte en energie om het beste uit jezelf te halen! Ons team bestaat uit vijf enthousiaste collega's die jou graag ondersteunen in zowel je persoonlijke als professionele ontwikkeling. Met twee ervaren Senior Developers als mentoren ben jij in goede handen. Wij zien onszelf als een vriendengroep die gezamenlijk werken aan iets moois

Bekijk vacature »

OutSystems developer

Dit ga je doen Klanten adviseren over de mogelijkheden van OutSystems; OutSystems oplossingen ontwikkelen en implementeren; Stakeholdermanagement; Kennis en expertise up to date houden en delen met het team. Hier ga je werken Onze opdrachtgever, gevestigd in regio Amsterdam, is een innovatieve dienstverlener die zich richt op grote corporates in verschillende sectoren. Doordat je bij veel verschillende klanten aan de slag zal gaan is geen enkel project hetzelfde. De organisatie kenmerkt zich door hoge mate van professionaliteit en innovatieve oplossingen. In de rol van OutSystems developer zal jij verschillende grote klanten helpen om efficiënte OutSystems oplossingen te ontwikkelen en implementeren.

Bekijk vacature »

TypeScript developer (tot € 6.000, - bruto pe

Functie Om bovenstaande ambities waar te kunnen maken zijn ze op zoek naar een ervaren Typecript developer die niet alleen zichzelf verder ontwikkelt, maar het ook leuk vinden om op termijn meer junior collega’s op pad te helpen. Je zult aan de slag gaan met het migreren van hun bestaande UI in Angular. Maar ook het ontwikkelen van een mobiele app. Hierbij hechten ze veel waarde aan User Experience en kiezen ze duidelijk voor kwaliteit i.p.v. snelheid. Je krijgt dus de ruimte om vanuit gedegen onderzoek te werk te gaan en het borgen van kwaliteit staat hoog in het vaandel.

Bekijk vacature »

Back-end .NET Developer

Functie omschrijving C# / .NET Developer gezocht voor een dynamische organisatie in de regio Houten! Voor een leuke organisatie in de regio Houten zijn wij op zoek naar een Back-end developer die klaar is voor een nieuwe uitdaging. In deze functie werk jij aan verschillende projecten en ga je vaak bij klanten op bezoek. Binnen deze functie kun je een grote mate van uitdaging, diversiteit en verantwoordelijkheid treffen. Bedrijfsprofiel Waar ga je werken? Het bedrijf waar je gaat werken is gespecialiseerd in het ontwerpen en implementeren van procesautomatisering en procesinformatisering. Zij doen dit onder andere voor de (petro)chemie, pharma, infra,

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 »

PHP Developer

Functieomschrijving Wij zijn op zoek naar een PHP Developer met Laravel ervaring! Voor een groeiende werkgever in regio Breda zijn wij op zoek naar een medior PHP developer met Laravel ervaring. Je gaat aan de slag met het ontwikkelen van maatwerk software voor klanten in een specifieke markt. Als PHP developer ben je samen met een gemotiveerd team van 6 collega’s verantwoordelijk voor de ontwikkeling, beheer en het innoveren van informatiesystemen voor klanten in een specifieke branche. Als software developer ondersteun je complexe uitdagingen van klanten. Je brengt hun wensen in kaart en vertaalt deze door naar maatwerk software. Om

Bekijk vacature »

Back-end ontwikkelaar

Functie omschrijving Wil jij meebouwen aan diverse databasesystemen in een klein bedrijf met een platte organisatie? In een team van ruim 10 ontwikkelaars wordt er aan diverse ICT oplossingen gewerkt. Jouw taken hierbij zullen bestaan uit: Het onderhouden en door-ontwikkelen van bestaande databases. Denk hierbij aan schema verbeteringen en performance-tuning. Bij nieuwe ontwikkelingen ga jij ook bezig met het bouwen van het databaseschema. Omdat je in een klein team werkt zal je ook de C# routine verder uitbouwen en ontwikkelen. Ook kan je meedraaien in algemene refactory-, ontwikkel- of testwerkzaamheden. Je zal voornamelijk gebruik maken van de volgende technieken: .NET

Bekijk vacature »

Software Developer C# / ASP .Net

Functie omschrijving Ben jij een software ontwikkelaar die bekend is met termen ASP .NET, C# en SQL? Lees dan snel verder! Voor een bedrijf binnen de agrarische sector zijn wij namelijk op zoek naar een zelfstandige, enthousiaste en proactieve Software Developer die open staat voor een afwisselende functie met veel uitdaging. Binnen deze organisatie ben jij als Software Developer samen met één andere collega verantwoordelijk voor de ontwikkeling en modificatie van het support en controle programma dat binnen dit bedrijf gebruikt wordt. Hierbij draag jij bij aan de vertaling van klantwensen naar effectieve softwareoplossingen. Daarnaast ben je verantwoordelijk voor: Schatten

Bekijk vacature »

.NET developer

Functie Als .NET developer start jij in een ontwikkelteam met 15 developers en twee testers. Samen zijn jullie verantwoordelijk voor financiële applicaties met meer dan 50.000 gebruikers. Een deel van het team is verantwoordelijk voor de webapplicaties van deze organisatie. Ook zijn er twee app ontwikkelaars werkzaam in het team die zich focussen op de mobiele applicatie. Als .NET ontwikkelaar ga jij aan de slag met de webapplicaties van deze organisatie. Hierbij maak jij o.a. gebruik van C# .NET, ASP.NET, T-SQL, Angular en TypeScript. De nadruk van jouw functie ligt wel op de backend van de applicatie. Wat jouw functie

Bekijk vacature »

Pagina: 1 2 3 4 volgende »

Ozzie PHP

Ozzie PHP

14/04/2013 11:42:30
Quote Anchor link
Hallo mensen,

Ik ga een cacher class maken en nu wil ik dat iedere website op mijn server een eigen mapje krijgt.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
/pad/naar/cache/www.site1.nl
                www.site2.nl
                www.site3.nl
                enz.

Nu werk ik met een service-container en ik heb mijn service-container zo gemaakt, dat ik ook een service als argument kan meegeven aan een andere service.

Zoals ik hierboven aangeef, heeft iedere website z'n eigen cache folder. Het pad naar deze folder bestaat uit een "vast" gedeelte (namelijk /pad/naar/cache/) en een dynamisch gedeelte (bijv. www.site1.nl) dat wordt gegenereerd op basis van het request.

Nu kan ik op het moment dat ik de cacher wil gebruiken 2 dingen doen:

1)

Ik genereer van tevoren het pad naar de cache folder en stel dat vervolgens in via een setCachePath(). Dan krijg je dus (globaal) zoiets:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$cache_path
= $container->get('paths')->get('cache') . $container->get('request')->get('domain');
$cacher     = $container->get('cacher');
$cacher->setCachePath($cache_path);
?>


2)

Wat ik ook kan doen, en ik eigenlijk mooier vind, is om de 'paths' service (object) en de 'request' service (object) als argumenten mee te geven aan de cacher service. Op het moment dat ik dan de cacher service aanroep, wordt het paths object en het request object aan de constructor van de cacher meegegeven, en de constructor bepaalt dan vervolgens zelf het cache path.

Ik vind dit een mooiere optie, omdat ik dan in de code geen cache path hoef in te stellen. Dat doet de cacher immers zelf. Het enige "nadeel" wat ik me zou kunnen bedenken, is dat ik dan wel 2 objecten moet meegeven aan de cacher. Is dat "lelijk" OOP, of is dit juist zoals het zou moeten?

Graag jullie mening.
Gewijzigd op 14/04/2013 11:45:00 door Ozzie PHP
 
PHP hulp

PHP hulp

09/01/2025 07:44:45
 
Wouter J

Wouter J

14/04/2013 13:25:18
Quote Anchor link
Het is niet lelijk OO om 2 klassen in een klasse te injecteren.

Wat wel heel erg verkeerd is is dat je hierdoor de cacher afhankelijk maakt van de Request klasse. Daar heeft die cache klasse niks mee te maken. De taak cachen is het opslaan van gegevens in een bepaalde resource. Een FileCacher heeft als taak gegevens op te slaan en op te halen uit een bestand. Wat dat bestand is heeft de cacher niks mee te maken, het enige dat hij hoeft te weten is dat hij schrijf en lees toegang tot dat bestand heeft.
 
Ozzie PHP

Ozzie PHP

14/04/2013 13:29:31
Quote Anchor link
Thanks voor je reactie Wouter. Uhm, oké... maar de cacher zal moeten weten WAAR hij z'n bestanden moet lezen en schrijven. Dat kan ik dus "handmatig" meegeven (optie 1), of ik geef die 2 objecten mee, en de cacher weet vervolgens zelf de locatie waar hij de bestanden moet lezen en schrijven. Ik vind de 2e optie mooi omdat ik dan handmatig niks extra's hoef te doen zoals bij optie 1 wel het geval is. Maar jij vindt optie 2 dus niet goed? (Heb je een alternatief?)
 
Wouter J

Wouter J

14/04/2013 13:37:57
Quote Anchor link
Goed, de basis van OO is dat we klassen los van elkaar kunnen gebruiken in elke situatie die we maar kunnen bedenken. Om dat te bereiken is er in OO het basisprincipe dat elke klasse en method maar 1 verantwoordelijkheid mag hebben.

Als de cacher zelf vanuit één of andere request klasse de bestandslocatie moet gaan raden heeft de cacher toch 2 verantwoordelijkheden? Als eerste moet hij gaan nadenken waar het bestand staat en vervolgens moet hij ook nog met dat bestand gaan werken. Dat betekend dat je hem niet kunt hergebruiken. Stel dat je straks verder in dit project ook globale gegevens wilt gaan cachen. Dan moet je weer een hele nieuwe cache klasse maken omdat je dan niks meer met de Request te maken hebt.

Wat je dus moet doen is deze 2 verantwoordelijkheden in 2 klassen stoppen. Je hebt dan bijv. een FileCache en een CacheContext klasse. De FileCache is slechts een klasse die dingen kan opslaan in bestanden. Welk bestand dat is dat krijgt hij doormiddel van een bestandsnaam mee.
De CacheContext klasse is een klasse die een Request klasse krijgt en aan de hand daarvan bepaald welke bestandsnaam hij aan de FileCache meegeeft.
 
Ozzie PHP

Ozzie PHP

14/04/2013 13:44:07
Quote Anchor link
Ah oke... dus één klasse die echt cachet... en één klasse die bepaalt waar er gecachet moet worden.

Maar in mijn geval zal de cache altijd in dezelfde map plaatsvinden. Dan kan ik toch wel het (basis)pad opslaan in de cache class?
 
Wouter J

Wouter J

14/04/2013 14:22:31
Quote Anchor link
Nee, wie zegt dat het altijd in dezelfde map plaats vind? In je volgende project is er weer een andere map, ga je dan weer die klasse aanpassen? En in een ander project weer?
 
Ozzie PHP

Ozzie PHP

14/04/2013 14:26:39
Quote Anchor link
Nee, de locatie waar de cachebestanden worden opgeslagen is in mijn situatie altijd hetzelfde.

Iedere website krijgt een vaste cache map:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
/pad/naar/cache/www.site1.nl
                www.site2.nl
                www.site3.nl
                enz.

Die map verandert niet... nooit. Dus vandaar mijn vraag.
 
Wouter J

Wouter J

14/04/2013 14:33:29
Quote Anchor link
Maar je maakt die Cache klasse niet voor alleen dit project. Als je straks later een andere opdracht krijgt waarbij je ook moet gaan cachen (offtopic: dat zal in jouw geval elke opdracht zijn... ;-) wil je niet weer een Cache klasse moeten maken, maar wil je gewoon deze cache klasse gaan gebruiken. Daarom moet je zorgen dat je nergens instellingen hard-coded in de klasse.
 
Ozzie PHP

Ozzie PHP

14/04/2013 14:36:48
Quote Anchor link
Hmmm, ja ik snap je wel... maar de bedoeling is dat dit voor mijn eigen projecten is... en die wil ik dus altijd in dezelfde map cachen. Maar ik snap jouw gedachtengang ook wel.

Overigens ga ik het niet hard-coded opslaan hè... het pad wordt dynamisch gegenereerd.
 
Wouter J

Wouter J

14/04/2013 14:39:02
Quote Anchor link
Nee, je wilt in jouw framework de bestanden altijd in dezelfde map cachen. Maar als je straks een project begint zonder je framework (komt echt wel voor) dan wil je het niet in dezelfde map en moet je dus de klasse aanpassen.

Een het genereren van een path is natuurlijk hetzelfde als het hard-coded opslaan van het path.
 
Ozzie PHP

Ozzie PHP

14/04/2013 14:49:02
Quote Anchor link
Ah ja, daar heb je een punt. Ik ga er eens even goed over nadenken wat het handigste is. Jij hebt het trouwens over "file" cachen hè. Welke andere manieren van cachen zijn er dan nog meer?
 
Wouter J

Wouter J

14/04/2013 15:01:56
 
Ozzie PHP

Ozzie PHP

14/04/2013 15:09:07
Quote Anchor link
Ah oké, thanks :)
Ik geloof niet dat ik er zoooveel nodig heb, hahaha...
 
Wouter J

Wouter J

14/04/2013 15:10:46
Quote Anchor link
Naja, een paar zijn er wel handig. Ik zou zelf DataBaseCache, FileCache, ApcCache en ArrayCache (handig voor testen) gebruiken.
 
Ozzie PHP

Ozzie PHP

14/04/2013 15:11:38
Quote Anchor link
Waarom zou je iets in een database willen cachen?
 
Erwin H

Erwin H

14/04/2013 17:09:25
Quote Anchor link
Er zijn meerdere redenen om te cachen. Meestal doe je het omdat de content redelijk statisch is en vaker wordt aangevraagd dan dat het zal veranderen. Dan cache je het dus om je database load te beperken.
Een andere reden kan zijn dat het genereren van de content simpelweg te lang duurt om het voor iedere request te doen. In dat geval maak je het alleen de eerste keer aan en kan je het daarna ophalen wanneer het nodig is. Dat soort cache kan je prima in een database opslaan.
 
Ozzie PHP

Ozzie PHP

14/04/2013 17:15:04
Quote Anchor link
Dankjewel voor je uitleg. Maar waarom zou je het dan in je database opslaan en niet in een bestand? Dat laatste is toch sneller om te benaderen?
 
Erwin H

Erwin H

14/04/2013 19:05:40
Quote Anchor link
Ten eerste is dat zeker niet altijd het geval en ten tweede zijn er natuurlijk nog veel meer voordelen aan het gebruik van een database die ik hopelijk niet allemaal uit hoef te leggen....
 
Ozzie PHP

Ozzie PHP

14/04/2013 19:47:35
Quote Anchor link
Erwin, ik zou je juist willen vragen om ze wel uit te leggen. De voordelen van een database snap ik, maar een van de redenen waarom je wil cachen is toch juist om het aantal database-aanroepen te beperken?

Ik hoop dat je mij kunt uitleggen in welke gevallen (praktijkvoorbeelden) het beter is om iets in de database te cachen in plaats van in losse bestanden. Ik heb zelf namelijk geen idee, maar wellicht kun je mij overtuigen en kan ik het straks zelf toepassen. Maar op dit moment is het waarom me nog niet duidelijk. Dus graag jouw uitleg.
 
Wouter J

Wouter J

14/04/2013 19:50:19
Quote Anchor link
Database aanroepen beperken is natuurlijk maar 1 van de 1000 redenen om te cachen.

Andere redenen zijn bijv:
- Het parsen van Yaml/Xml configuratie bestanden, dat ga je natuurlijk niet elke request doen
- Het parsen van templates
- Ipv elke request een hele rij bestanden te doorzoeken opzoek naar 1 of 2 bestanden sla je deze bestanden op, waardoor je deze bestanden direct kunt aanroepen
- ect.
 
Ozzie PHP

Ozzie PHP

14/04/2013 19:53:25
Quote Anchor link
Ja, tot zover snap ik het allemaal wel... maar ik ben dus benieuwd waarom je de gegevens die je cachet zou opslaan in een database in plaats van in een bestand? Dat is het enige wat ik graag wil weten.
 

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.