Extend of parameter voor class?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET Developer / Innovatieve software / Virtual Re

Functieomschrijving Als .Net developer werken aan innovatieve software waar onder andere gebruik gemaakt wordt van Virtual Reality? Bijdragen aan een organisatie waar je uitgedaagd wordt om continu verbeteringen en ontwikkelpunten te ontdekken en door te voeren? Werken in de omgeving Putten? Reageer dan nu voor meer informatie! Het pro-actief aandragen van verbeteringen voor de bestaande applicatie; Ontwikkelen van nieuwe functionaliteiten; Doorvoeren van aanpassingen en wijzigingen; Verantwoordelijk voor koppelingen met andere systemen; Op de hoogte blijven van technische ontwikkelingen. Functie-eisen Hbo werk- en denkniveau; Een afgeronde IT gerelateerde opleiding; Minimaal 1 jaar professionele ervaring als developer; Aantoonbare kennis van C#; Initiatiefrijke

Bekijk vacature »

SMART SERVICES SOFTWARE DEVELOPER

SMART SERVICES SOFTWARE DEVELOPER Heerlen Technology 13th month pay & Holiday allowance Bonus Program 26 holidays Training & Learning opportunities Laptop & Smartphone 32-40 hours p.w. Smart Services Software Developer – Heerlen, Limburg How does your job as Software Developer look like at Accenture? Within Accenture’s Innovation Center for Smart Services in Heerlen, you will be joining a highly skilled team professionals working on Blockchain, Artificial Intelligence, Salesforce.com, Java, Web Development, VR/AR, and IoT solutions. As Developer your main responsibilities include creating requirements, software development and integrating applications for large international clients. Project complexity is high and the technical challenge

Bekijk vacature »

Software Developer C#

ucntie: Software Developer (C#) Opleiding HBO/WO Locatie: Roermond/Sittard area Startdatum: 1 februari Contract: vast dienstverband Uren per week: Fulltime, 40 uur per week Bedrijf: Als innovatieve voorloper binnen de digitale informatiestromen in de medische sector hechten we belang aan het ontwikkelen en implementeren van nieuwe technologieën. We zijn op zoek naar creatieve geesten die energie halen uit het werken met een verscheidenheid aan technologieën, aan de hand van hun eigen ontwerpvrijheid en professionele ontwikkeling. De afdeling Research & Development is verantwoordelijk voor het onderhouden, vernieuwen en installeerbaar opleveren van de applicaties voor de professionele (eerstelijns) gezondheidszorg. Afdeling: Binnen de afdeling

Bekijk vacature »

Niek s

niek s

20/07/2010 16:30:34
Quote Anchor link
Goedenmorgen,

Ik heb een classe, Controller genaamd, welke in 2 situaties gespawned wordt:
- In het geval dat er via een browser de applicatie bezocht word
- In het geval dat de cronjob (ja die is echt nodig) die nodig heeft.

Nou moet de controller in de twee gevallen net ietsje anders constructen.

Vandaar dus mijn vraag. Wat is de netste OOP manier in jullie ogen? Graag met argumentatie ;-)
Zelf twijfel ik tussen:
Het extenden van de Controller classe om vervolgens voor de 2 situatie een andere class hebben, die dan weer parent::__construct doen, en daarna hun eigen net iets andere situatie doen.
Of:
Een if/else'je in de constructor, en een parameter in de constructor waarin wordt aangegeven hoe deze gespawned wordt...

Het is beide niet veel werk natuurlijk, en maakt in mijn ogen niet erg uit, maar ik vind het een boeiende vraag en zou jullie welles willen horen =)

Groetjes
 
PHP hulp

PHP hulp

26/01/2020 12:06:18
 
Wesley Overdijk

wesley Overdijk

20/07/2010 16:35:42
Quote Anchor link
Ik zou voor beide methodes een ander object gebruiken, en bij het aanroepen een van beide aanroepen. Je extend idee dus. (Al zou ik al nooit een controller rechtstreeks laten benaderen zonder tussenstappen)
 
Jelmer -

Jelmer -

20/07/2010 16:36:52
Quote Anchor link
Ik zou de eerste het netst vinden denk ik, omdat je dan je algemene specifieke controller weer scheidt van je specifieke specifieke controller die specifiek voor die specifieke situatie is, wat vrij specifiek is.

If-elsje is makkelijker, en doet me meer denken aan #ifdef preprocessor syntax in bijv. C++. Argument hier tegen is vooral dat je class afhankelijk maakt van een globale variabele of functie van buitenaf (eentje die aangeeft wat de situatie is) maar het gaat al om een vrij specifieke controller die je waarschijnlijk alleen maar in dit project gebruikt, dus afhankelijkheid als tegenargument zou ik wegwuiven.
 
Niek s

niek s

20/07/2010 17:09:44
Quote Anchor link
Jelmer rrrr op 20/07/2010 16:36:52:
Ik zou de eerste het netst vinden denk ik, omdat je dan je algemene specifieke controller weer scheidt van je specifieke specifieke controller die specifiek voor die specifieke situatie is, wat vrij specifiek is.

If-elsje is makkelijker, en doet me meer denken aan #ifdef preprocessor syntax in bijv. C++. Argument hier tegen is vooral dat je class afhankelijk maakt van een globale variabele of functie van buitenaf (eentje die aangeeft wat de situatie is) maar het gaat al om een vrij specifieke controller die je waarschijnlijk alleen maar in dit project gebruikt, dus afhankelijkheid als tegenargument zou ik wegwuiven.


Klinkt logisch. Ik denk dat ik dan dus inderdaad de controller classe ga extenden voor die situatie.

Mijn visie is wel: het is inderdaad een specifieke toepassing, dus herbruikbaarheid is niet relevant. Toch wil ik ook specifieke code erg duidelijk en gestructureerd houden. Als het nou om een classe Item ging, die een CD en DVD was had ik meteen al een extend gedaan. Een CD en een DVD extend. Maar in dit geval gaat het om 1 enkel ander gedrag.
Mijn argument voor extend is dat de "normale" controller geen baat heeft bij extra dingen, en de cronjob controller wel. Dus is het "vies" om die code te hebben in een situatie waarbij je die niet gebruikt.

Bedankt, Jelmer!
 



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.