OOP: Config doorgeven tussen objecten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Full stack Developer meteorologische en hydrologis

Als C#.NET Developer geef jij klanten inzicht in hun meteorologische en hydrologische datagegevens. Denk hierbij aan gegevens over wind, zicht, temperatuur en neerslag, maar ook stroming of golven. Je werkt voor internationale klanten in de scheepvaart, luchtvaart en offshore. Het is een functie met veel vrijheid en eigen initiatief , waarbij je uiteenlopende klant vragen vertaald naar nieuw te ontwerpen software oplossingen. Wat vragen zij: Afgeronde HBO of WO studie richting Informatica, ICT of soortgelijk; Minimaal drie jaar C#/.NET ervaring; Ervaring met HTML, CSS, Angular, Typescript en CI; Ervaring met Azure is een pré; Je beheerst de Nederlands en Engelse

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 »

PHP Full Stack developer

Ter uitbreiding van ons team in Lobith zijn wij op zoek naar een PHP developer M/V Full-time (32-40u) Als groothandel zijn wij al 20 jaar een begrip in de computerwereld. Wij zijn distribiuteur van diverse grote merken en leveren voornamelijk aan wederverkopers in Nederland en België. Als PHP fullstack developer ontwikkel je nieuwe functies voor onze website en inhouse-applicaties. Daarnaast willen wij het huidige CRM systeem stap voor stap vervangen met een naar onze wensen ontwikkeld systeem. Het is dus jouw taak om dit nieuwe systeem te ontwikkelen. Wat verwachten we van jou? Je bent helemaal thuis in PHP, CSS,

Bekijk vacature »

Application Developer React (H/F)

Expertise Description : • Fluent English speaking developer • Experience with React-native, Java/Swift/Objective-C. • Proactive in communication • Strong team player with a commitment to perfection • Creative problem-solving and solutions thinking to improve app and API’s which the app is using. • Maintain code and write automated tests to ensure the product is of the highest quality. • Experience with Telco Expertise Must Have : • Architect, build and maintain excellent React Native applications with clean code. • Experience with Ext JS, Backbone.js, Node.js, AngularJS, AngularJS2, React, Redux, React-Native, Native Base • Experience with swift (ios), kotlin / java

Bekijk vacature »

Oracle Consultants/Ontwikkelaars gezocht!

Bedrijfsomschrijving Voor mijn klant ben ik op zoek naar Oracle consultants/ontwikkelaars. Deze organisatie is gevestigd in Gorinchem en al ruim 20 jaar gespecialiseerd om complexe Oracle vraagstukken op te lossen bij diverse klanten door heel Nederland. Je krijgt hier ook de mogelijkheid om je verder te ontwikkelen, zo hebben ze bijvoorbeeld een eigen interne opleidingscentrum. Ze profileren zich ook als een intelligente club met werknemers die het vak echt begrijpen. Daarnaast kenmerkt de organisatie zich als collegiaal, motiverend met een informele cultuur. Functieomschrijving Binnen deze functie word je ingezet op uitdagende complexe Oracle vraagstukken bij diverse klanten. De klanten variëren

Bekijk vacature »

Backend .NET Developer C# Voetbal

Bedrijfsomschrijving Binnen deze organisatie in de regio Den Haag zal je als .NET Developer terecht komen in een multidisciplinair team met 5 andere Programmeurs. In jouw rol ben je verantwoordelijk voor het ontwikkelen en optimaliseren van mobiele applicaties met meer dan 4 miljoen gebruikers wereldwijd. Als Backend Developer zal je dagelijks werken met C#, .NET Core, Kubernetes en een SQL Database. Voor het onderling communiceren van de microservices wordt gebruik gemaakt van RabbitMQ. Je krijgt energie van technische uitdagingen en je werkt graag samen. Verder zul je in vele projecten deelnemen, zorg je voor nieuwe features, los je diverse bugs

Bekijk vacature »

Microsoft Consultant

Complexe klantvragen, maatwerkoplossingen, Microsoft 365, ontwikkelen, groeien, vernieuwen… zijn dit woorden waar jouw hart sneller van gaat kloppen? Houd je verder van lachen, hard werken en goeie koffie? Dan willen wij graag met jou kennismaken! Omdat steeds meer klanten ons weten te vinden groeit de W.T. Group door en hebben we een vacature voor een fulltime Microsoft 365 Productivity Consultant Als Microsoft 365 Productivity Consultant (voorheen Office 365) zorg je voor maatwerkoplossingen op het moment dat er geen standaardoplossing is voor de automatiseringsbehoefte van een klant. Waar menig ICT-bedrijf vastloopt gaan wij als team altijd verder, we werken samen, dagen

Bekijk vacature »

Senior C# Developer

You'll build modern applications for Coolblue back’s office. We have a lot of friends, and they crave well-structured data and user-friendly, task-focused applications. How do I become Senior C# Developer at Coolblue? You regularly participate in brainstorm sessions about user experience, data, and task flow with the UX Designer, Product Owner, and Data Scientists in your team. Besides that you will create disconnected, highly congruent, and testable code that can easily be maintained and is future-proof. Want to become Senior C# Developer at Coolblue? Funda will explain how to do that. You enjoy doing this Working with various types of

Bekijk vacature »

Senior ETL Specialist

Wil jij een sleutelrol vervullen op het gebied van het ETL/SAP Data Integration proces binnen een multidisciplinair team van ICMT Zuyderland? Dan ben jij de kandidaat die wij zoeken! De RVE ICMT bestaat uit ongeveer 150 collega’s verdeeld over de afdelingen: Innovatie en Programma Services, Medische Technologie, Applicatie Services en Infrastructuur Services. Deze afdelingen zijn direct en indirect van groot belang voor het mogelijk maken van hoog kwalitatieve zorg door onze zorg professionals. Beschikbaarheid, veiligheid en betrouwbaarheid van alle ICT-componenten zijn essentieel, dag en nacht, zowel intern als extern. Daarnaast is de RVE ICMT zeer nauw betrokken bij het realiseren

Bekijk vacature »

Mobile App Developer

Ons Mobile-ontwikkelteam zoekt een gedreven Mobile App Ontwikkelaar. Ben jij analytisch en heb je passie voor het ontwikkelen van apps? Dan zijn wij op zoek naar jou! Jouw baan ChipSoft heeft al diverse apps uitgebracht en het aantal gebruikers hiervan neemt snel toe. Je kunt hierbij denken aan apps voor verpleegkundigen, thuiszorgmedewerkers, de sterilisatieafdeling en - natuurlijk - de artsen zelf. Door jouw hands-on-mentaliteit, eigenwijsheid en technisch inzicht kun je nauwkeurig herbruikbare software schrijven. Die software sluit naadloos aan op onze ‘back end’ (HiX, onze ICT-totaaloplossing voor de zorg). Samen met je collega’s ben je verantwoordelijk voor het ontwerpen en

Bekijk vacature »

PHP Ontwikkelaar

Wij, Schulinck - onderdeel van Wolters Kluwer, zoeken een PhP Ontwikkelaar voor het ontwikkelen van onze online applicaties, zoals: Schulinck Grip op, Schulinck Antwoord op, Schulinck Traject51 and Schulinck e-forms. Je denkt mee in het functioneel ontwerp en draagt zorg voor een perfecte implementatie. Je verdiept je in bestaande modules en onderhoudt deze. Wat ga je verder doen? · Vertalen van klantbehoeften naar technische oplossingen; · Ontwikkelen en onderhouden van software in een SCRUM team; · Reviewen van gemaakte code en opstellen documentatie; · Ontwikkelen van (geautomatiseerde) testen. Over Schulinck Wij zijn een sterk groeiend onderdeel van Wolters Kluwer en

Bekijk vacature »

Software Solution Architect

Kom jij ons team helpen bij het ontwerpen en ontwikkelen van moderne, heldere en realiseerbare architecturen voor grote, complexe omgevingen bij onze klanten binnen de Nederlandse overheid? Meer weten? Bel of Whatsapp met Aad van Kempen via 06 10040513! Wat ga je doen? In jouw rol als Software Solution Architect breng je de Nederlandse overheid via CGI naar het nieuwe digitale tijdperk met de beste ICT-infrastructuur. Hoe? Als aanspreekpunt, adviseur en hoeder voor de inrichting van het IT-landschap. Je realiseert efficiënt de IT-toepassingen, operationeel en strategisch. Waarom? Alleen het beste is goed genoeg. Daarom ga je voor een optimaal afgestemde

Bekijk vacature »

EPM Teamlead

A global consumer goods company seeks a EPM Team Lead to join its financial systems department. The client is growing rapidly and seeks a hands-on consolidation systems professional ideally with planning and budgeting knowledge. The successful candidate will lead a small team of application specialists and ensure the delivery of enhanced reporting and business insights to an international group of stakeholders. Key requirements: 2 to 5 years' experience with OneStream, in a technical function. Knowledge of a planning or forecasting tool, in a support or administration function. Experience in team leading, mentoring or coach will be beneficial. Analytical mindset, business

Bekijk vacature »

OutSystems Ontwikkelaar bij een toffe Low-Code clu

Bedrijfsomschrijving Deze jonge maar kwaliteit gedreven organisatie heeft een vooraanstaande rol in Nederland op het gebied van OutSystems en consultancy. Dankzij een hoog kennisniveau en een sterk netwerk van klanten weten ze uitstekende kwaliteit te leveren waarvoor ze veel erkenning krijgen. Ze ontwikkelen complexe informatie systemen in marktleidende technologieën. Naast het ontwikkelen kunnen ze klanten ook uitermate goed begeleiden bij de inpassing van de systemen in de bestaande architectuur. Functieomschrijving Je komt bij dit bedrijf te werken in één van de scrumteams met kundige collega's. Er komt bij de applicaties die ze ontwikkelen regelmatig ook heel veel data kijken en

Bekijk vacature »

Full-stack .NET developer gezocht, Goeree-Overflak

Ben je een .NET software developer en op zoek naar een professionele werkomgeving binnen een wat groter innovatief en ambitieus bedrijf? Waar sprake is van een uitgebreid applicatielandschap met elke dag nieuwe uitdagingen, waar alles mogelijk is, binnen een goede collegiale sfeer? Lees dan verder! Voor een bedrijf in Goeree-Overflakke zijn we momenteel op zoek naar een ervaren software developer. De IT afdeling bestaat uit circa 60 mensen waarvan zo'n 15 developers. Voor de recente architectuur wordt gebruikt gemaakt van de nieuwste technieken waaronder .NET Core, Docker en Angular. Echter bestaat het applicatielandschap uit een groot aantal verschillende applicaties waarbij

Bekijk vacature »
Arian Stolwijk

Arian Stolwijk

04/03/2009 19:37:00
Quote Anchor link
Beste Mensen,

Ik zit met het volgend probleem:

Ik heb een class.
Bij deze class kan ik instellingen instellen. Die komen vervolgens in een config class of een array.

Maar deze class heeft ook 'geneste children'. Die moeten ook toegang hebben tot die instellingen. Op hun beurt hebben zij ook weer geneste subclassen, die ook toegang moeten hebben tot de instellingen.


Klein overzichtje
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
  
                                   hoofdclasse
                                       |
   |-------------------------|------|-----------------|
   child                       child               child
     |                             |                    |
|---|---|------|         |----|--|----|        |----|-----|
child child  child    child child child   child child child

Eigenlijk zijn het zelfs nog vier lagen. Maar elk object moet toegang hebben tot dat ene config object/array.

Nu kan ik, als ik een config object maak, van die config een static maken, zodat ik gewoon Layout_Config::get('key'); kan doen ofzo... maar het nadeel is dat je dan eigenlijk maar één config object kunt maken, wat dus niet echt handig is...

een tweede optie is bij de constructor van elk child de opties via een parameter meegeven, maar dat lijkt mij ook niet echt handig...

Daarom vroeg ik me af of hier niet een handig oplossing voor is...
Gewijzigd op 01/01/1970 01:00:00 door Arian Stolwijk
 
PHP hulp

PHP hulp

02/12/2020 04:33:36
 
Gerben G

Gerben G

04/03/2009 20:01:00
Quote Anchor link
Waarom zou je meer dan een config object willen hebben. Mijn voorkeur gaat uit naar een config object. En dan maak ik altijd gebruik van het singleton pattern
http://nl.wikipedia.org/wiki/Singleton_(informatica)
Gewijzigd op 01/01/1970 01:00:00 door Gerben G
 
Arian Stolwijk

Arian Stolwijk

04/03/2009 20:07:00
Quote Anchor link
ja oke... maar het is niet echt voor bijvoorbeeld de hele site ofzo... het zijn eigenlijk gewoon een paar parameters van het hoofdobject... die de child classes moeten kunnen benaderen..
 
Jelmer -

Jelmer -

04/03/2009 22:23:00
Quote Anchor link
Doorgeven via de constructor geeft meer flexibiliteit, en geeft je de mogelijkheid om je child klassen op andere plekken te hergebruiken, al dan niet met een andere, voor die plek toepasselijke, config.

Persoonlijk vind ik singleton net zo erg als globals, of eigenlijk erger. Je hebt de vervelende global state van je applicatie plots - dwz de state van het ene object heeft direct invloed op al die objecten die ermee gekoppeld zijn - en je hebt een keiharde koppeling tussen klassen. De klassen die jouw singleton klasse aanroepen bevatten de naam van die klasse. Je kan die singleton-klasse nu niet meer hernoemen of extenden, en je kan de andere klassen niet meer gebruiken zonder de singleton klasse. Dat, in combinatie met het delen van een state, levert het verplicht delen van een state, wat weer zo ongeveer neer komt op... globals.
 
Arian Stolwijk

Arian Stolwijk

04/03/2009 23:01:00
Quote Anchor link
Ik had het inderdaad eerst op de singleton manier, maar ik merkte al snel, wat Jelmer al zei, dat de hele flexibiliteit naar de knoppe ging, dus ik geef hem nu maar door via de constructor..
 



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.