[OOP] Goede aanpak?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Front-end Developer Angular

Dit ga je doen Jouw taken als Front End Developer bestaan uit: Het ontwikkelen van maatwerkoplossingen voor klanten; Het meedenken over nieuwe tools en technieken; Het begeleiden van junioren; Het meewerken aan diverse projecten; Het meedenken in UX/UI design. Hier ga je werken Als Front-End Developer ga je in een Scrum team aan de slag met de nieuwste digitale technologieën om klanten en overheden over de hele wereld te ondersteunen met het ondersteunen van hun software, veelal op het gebied van watermanagement en infra. Door middel van real-time data in combinatie met voorspellende analyses, AI, Deep Learning en Machine Learning

Bekijk vacature »

Java developer (remote)

Functie Wat ga je doen als Java Developer? Jij als Java ontwikkelaar komt te werken in 1 van onze SCRUM teams. Momenteel werken er zo’n 30 ontwikkelaars binnen onze organisatie waarbij jij de brug slaat tussen het bouwen van verschillende functionaliteiten binnen onze applicaties en deze vervolgens te integreren in onze centrale hub. Je start je dag om 9 uur met een stand up en dan pak je jouw taken op voor de dag. Hieronder een aantal taken die jij zal uitvoeren: – Het bedenken en uitbouwen van features binnen de verschillende applicaties – Onderhouden van CI/CD pipelines – Bezighouden

Bekijk vacature »

IT Manager team PaaS

TenneT is hard groeiende om haar ambities waar te kunnen maken. Zo nemen wij een leidende rol in het aanjagen van de energietransitie. Het werven van nieuw talent speelt daarin een cruciale rol. Wij zijn op zoek naar een gedreven Lead PaaS die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je wordt de Teammanager (Lead) van een nieuw team binnen de afdeling Basic van Information Technology and Facilities (ITF) van TenneT. Het team heet Platform as a Service. Hier wordt elke dag in een goede sfeer met zijn allen hard gewerkt om vanuit IT

Bekijk vacature »

PHP Software Developer

Functie omschrijving Op zoek naar een nieuwe uitdaging binnen PHP? Lees dan snel verder! Wij zoeken een ervaren PHP developer die binnen een organisatie gaat functioneren als verlengstuk van de klant. Wij zoeken voor deze iemand die technisch complexe zaken met enthousiasme en plezier aanvliegt. Verder moet je instaat zijn om je tijd goed te managen omdat je aan meerdere projecten tegelijkertijd werkt. Je werkt met de nieuwste technieken en tijdens deze uitdaging werk je veel samen met de front-end developers van deze organisatie. Wij zoeken iemand die zichzelf graag uitdaagt en altijd de beste wilt zijn. Bedrijfsprofiel Waar ga

Bekijk vacature »

C# Developer Research and Development - Delft

Vacature details Vakgebied: Software/IT Opleiding: Medior Werklocatie: Delft Vacature ID: 6307 Introductie C# Developer Research and Development - Delft - Onze klant is één van de meest innovatieve bedrijven in de region van Delft. Op dit moment zijn ze voor het innovatie centrum. In het innovatie centrum wordt gewerkt aan de nieuwste technieken voor navigatie software. R&D / C# / Pattern Recognition / Algorithms / 3d Data / DotNET Functieomschrijving Als C# Developer kom je te werken in een innovatief scrumteam. We ontwikkelen en door ontwikkelen de nieuwste technieken op het gebied van navigatie software. Deze software wordt onder andere

Bekijk vacature »

Ontwikkelaar MS Dynamics 365 Projecten

Samengevat: Deze werkgever is de kwaliteitsdienst in de tuinbouwsector. Ben jij een ervaren ontwikkelaar? Heb jij ervaring met Ms Dynamics 365 BC? Vaste baan: Ontwikkelaar Ms Dynamics 365 BC ICT MBO 3.500 - 5.000 Ontwikkelaar Ms Dynamics 365 BC Ons bedrijf bewaakt en bevordert de kwaliteit van producten, processen en ketens in de tuinbouw. Wij kenmerken zich door openheid, ruimte voor initiatief, collegialiteit en zelfontplooiing. Deze werkgever is een veelzijdige organisatie. Je werkt voor de eigen IT organisatie. Zij werken met moderne technologie en staan open voor innovatie. Functie: Voor de vacature als Ontwikkelaar Ms Dynamics 365 BC Roelofarendsveen MBO

Bekijk vacature »

Medior .NET developer

Functie Jij gaat als Medior .NET ontwikkelaar aan de slag in ons scrumteam met 6 developers die gepassioneerd en actief bezig zijn om onze spelers kwalitatieve en mooie spelervaringen aan te bieden. Als medior .NET developer ga jij werken aan een technisch hoogwaardig platform welke bezoekerspieken verwerkt van tienduizenden tot honderdduizenden gebruikers per minuut! Ons scrumteam werkt in drie wekelijkse sprints en wij beginnen iedere ochtend met een stand-up. Jij werkt bij ons met C# .NET, .NET Core, React.JS, Xamarin, Azure, Docker en Kubernetes. Wij hechten enorm veel waarde aan het leveren van hoogwaardige en kwalitatieve code. Zodra jij de

Bekijk vacature »

Senior PHP Developer

As a Senior PHP Developer at Coolblue, you ensure that our webshops work as optimal as possible and you choach other colleagues on the hard and soft skills. How do I become a Senior PHP Developer at Coolblue? As a PHP Developer you work together with other development teams to make our webshop work as optimal as possible and to make our customers happy. Although you are a PHP Developer, you are not averse to a little TypeScript or other technologies that might be used. Would you also like to become a PHP Developer at Coolblue? Read below if the

Bekijk vacature »

Junior .NET developer

Functie Ons programma is voor afgestudeerde enthousiastelingen die het als een uitdaging zien om met een klein dynamisch team bij de grootste bedrijven van Nederland aan de slag te gaan. Tijdens jouw dienstverband word jij begeleid door een talent manager. Het ontwikkelen van jouw talent staat hierbij centraal. Het programma doorloop je met een team van circa 8 Mede- trainees. De eerste maand start je met een fulltime inhouse opleiding. Deze staat geheel in het teken van de werkzaamheden die jij verder in het programma zult uitvoeren. Na deze opleidingsmaand ga je aan de slag in een dynamische omgeving bij

Bekijk vacature »

Software Developer Java

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 »

Delphi Programmeur

Functie omschrijving Onze opdrachtgever is gespecialiseerd in kantoor-bedrijfssoftware en zit gevestigd in omgeving Numansdorp. Als programmeur ben jij bij dit bedrijf met het volgende bezig; Je vertaalt technische en functionele ontwerpen naar kwalitatieve software. Je ontwikkelt, ontwerpt en test software. Je maakt daarbij veel gebruik met de volgende tools & technologieën: Delphi 10.3 (Rio), QuickReport 6. Je krijgt in deze rol veel vrijheid en verantwoordelijkheid. Je levert projecten van A - Z op, en werkt daarbij projectmatig en gestructureerd. Bedrijfsprofiel Dit bedrijf richt zich op maatwerk software oplossingen. Deze software oplossingen worden ingezet in de financiële branche. Het betreft een

Bekijk vacature »

Back-End Developer in Laravel / PHP

Functie omschrijving Wij zijn op zoek naar een Medior PHP Laravel Developer voor een gaaf bedrijf in de omgeving van Amsterdam! Voor een enthousiast team die zich graag bezig houdt met softwareontwikkeling zijn wij op zoek naar versterking. Je werkt in een klein ontwikkelteam en bent zeer betrokken bij alle aspecten van de softwareoplossingen. Van het ontwerpen tot de oplevering. Binnen deze functie ga je aan de slag met het aanpassen, verbeteren en vernieuwen van de logistieke oplossingen. Je krijgt veel te maken met koppelingen naar systemen en de verzoeken van de klant. Je komt terecht in een team, waarbij

Bekijk vacature »

Traineeship Front-end developer (WO, 0 tot 3 jaar

Functie Zoals beschreven ga je vanaf start aan de slag bij een passende opdrachtgever, hierbij kijken ze echt naar jouw wensen, kennis/ervaring maar ook de reisafstand. Momenteel hebben ze meerdere klanten waarbij ze groepen hebben opgezet wat maakt dat er diverse uitdagende kansen liggen. Naast het werken bij de opdrachtgever, en het volgen van de masterclasses, zul je regelmatig met de andere trainees in contact zijn. Niet alleen op professioneel vlak maar juist ook bij de borrels en kwartaaluitjes! Kortom; een jaar lang hard aan jezelf werken in combinatie met gezelligheid en plezier. Spreek dit jou aan? Dan komen we

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

PHP Developer - medior functie

Functieomschrijving Ben jij innovatief en wil jij je kennis graag delen met jouw nieuwe collega's? Lees dan snel verder! Voor een leuke opdrachtgever in de omgeving van Roosendaal zoeken wij een Symfony developer. Of je nou junior, medior of senior bent, je krijgt hier alle vrijheid en verantwoordelijkheid om jouw eigen loopbaan te ontwikkelen. Je gaat je hier bezig houden met en inspelen op de actualiteiten van jouw vakgebied. Techstack: Symfony, PHP, mySQL. Kennis van Svelte is helemaal mooi meegenomen. Bedrijfsprofiel Al sinds '99 is dit webbureau actief. De kernwaarden binnen het bedrijf zijn integer, dienstbaar en deskundig. Je komt

Bekijk vacature »

Pagina: 1 2 volgende »

Bram Boos

Bram Boos

28/03/2011 22:20:58
Quote Anchor link
Zo. Ik wil nou eens een keer mijn code in één keer goed doen vandaar dat ik wil vragen aan jullie: Klopt dit? Ik weet dat er geen standaarden zijn maar is het op deze manier efficient?

Artikel
-Artikel_id
-Titel
-Beschrijving
-Prijs
-BTW
+setArtikel_id
+setTitel
+setBeschrijving
+setPrijs
+setBTW
+getArtikel()

Voorraad
-Artikel_id
-Voorraad
+setArtikel_id
+setVoorraad
+getVoorraad()

Bestelling
-Artikel_id
-Aantal
+setArtikel_id
+setAantal
+getBestelling()

Winkelwagen
-Bestelling
+setBestelling
+getWinkelwagen()
Gewijzigd op 28/03/2011 22:47:09 door Bram Boos
 
PHP hulp

PHP hulp

18/05/2024 17:09:06
 

28/03/2011 22:39:28
Quote Anchor link
Waar komt artikel_id vandaan?
 
Bram Boos

Bram Boos

28/03/2011 22:40:16
Quote Anchor link
Karl Karl op 28/03/2011 22:39:28:
Waar komt artikel_id vandaan?


Van de klasse Artikel...
 

28/03/2011 22:43:18
Quote Anchor link
Bram Boos op 28/03/2011 22:40:16:
Karl Karl op 28/03/2011 22:39:28:
Waar komt artikel_id vandaan?


Van de klasse Artikel...


Bram Boos op 28/03/2011 22:20:58:
(...)
Artikel
-Titel
-Beschrijving
-Prijs
-BTW
+setTitel
+setBeschrijving
+setPrijs
+setBTW
+getArtikel()
(...)

Zakdoekje leggen,
Niemand zeggen,

rara, waar is artikel_id gebleven...?

Moet dit een soort van klassendiagram zijn?
 
Bram Boos

Bram Boos

28/03/2011 22:48:47
Quote Anchor link
Oeps, zo beter:

Artikel
-Artikel_id
-Titel
-Beschrijving
-Prijs
-BTW
+setArtikel_id
+setTitel
+setBeschrijving
+setPrijs
+setBTW
+getArtikel()

Ja als je het zo wilt noemen, zo probeer ik mij in ieder geval op het scripten voor te bereiden (nog nooit gedaan)..
 

28/03/2011 22:54:07
Quote Anchor link
Stellen de plusjes en minnetjes de visibility aan?
Hoe kom je dan aan de artikel_id?
 
Pim -

Pim -

28/03/2011 22:57:08
Quote Anchor link
En hoe ga je dit klassendiagram weergeven in je database?
 
Bram Boos

Bram Boos

28/03/2011 23:00:52
Quote Anchor link
Karl Karl op 28/03/2011 22:54:07:
Stellen de plusjes en minnetjes de visibility aan?
Hoe kom je dan aan de artikel_id?


De visibility heb ik hier geen rekening mee gehouden, misschien moet ik daar nog eens over na gaan denken...

Pim - op 28/03/2011 22:57:08:
En hoe ga je dit klassendiagram weergeven in je database?


De informatie (waaronder artikel_id) komt uit de database welke via een adapter klasse wordt opgehaald.
Gewijzigd op 28/03/2011 23:01:22 door Bram Boos
 

28/03/2011 23:06:44
Quote Anchor link
Bram Boos op 28/03/2011 23:00:52:
Karl Karl op 28/03/2011 22:54:07:
Stellen de plusjes en minnetjes de visibility aan?
Hoe kom je dan aan de artikel_id?


De visibility heb ik hier geen rekening mee gehouden, misschien moet ik daar nog eens over na gaan denken...

Pim - op 28/03/2011 22:57:08:
En hoe ga je dit klassendiagram weergeven in je database?


De informatie (waaronder artikel_id) komt uit de database welke via een adapter klasse wordt opgehaald.


Wat doen die plusjes en minnetjes dan? Dus jij wou gewoon uit een object zijn waarde van artikel_id gaan plukken? Dan ben je wel fout bezig vanuit god-hoe-heet-dat-nu-dan-principe-ik-ben-te-lang-met-assembly-bezig-geweest-owja-het-was: loose coupling high cohesion...
 
Pim -

Pim -

28/03/2011 23:28:51
Quote Anchor link
Eigenlijk moet je Bestelling het object Artikel laten dragen, niet de waarde artikel_id.
 

28/03/2011 23:34:15
Quote Anchor link
Pim - op 28/03/2011 23:28:51:
Eigenlijk moet je Bestelling het object Artikel laten dragen, niet de waarde artikel_id.


Oh, lol, zover had ik eigenlijk nog niet eens gekeken :-)
 
Gerard Nijboer

Gerard Nijboer

29/03/2011 00:42:56
Quote Anchor link
Visio bevat de mogelijkheid om UML-modellen te maken, zou je eens naar moeten kijken, helpt je vaak om dingen te visualiseren, maar ook om af en toe lekker te schuiven.
 
Bram Boos

Bram Boos

29/03/2011 20:04:45
Quote Anchor link
Tot nu toe heb ik dit gemaakt:
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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<?php
class Aanbieding
{
    private $_adapter;
    private $_artikelId;

    public function __construct(Adapter $_adapter,Artikel $_artikelId)
    {

        $this->_adapter = $_adapter
        $this
->_artikelId = $_artikelId;
    }


    public function getPrijs()
    {

        $aanbieding = $this->_adapter->getArtikel($this->_artikelId);
        return $aanbieding['prijs'];
    }
}


class Voorraad
{
    private $_adapter;
    private $_artikelId;

    public function __construct(Adapter $_adapter, Artikel $_artikelId)
    {

        $this->_adapter = $_adapter;
        $this->_artikelId = $_artikelId;
    }

    
    public function getVoorraad()
    {

        return $this->_adapter->checkVoorraad($this->_artikelId);
    }
}


class Item
{
    private $_aantal;

    public function __construct(Artikel $Artikel_id, $_aantal)
    {

        $this->Artikel_id = $Artikel_id;
    }

    public function addItem()
    {

                    $this->_items[] = array

                    (

                         'id' => $Id,

                         'prijs' => $Prijs,

                        'aantal' => $Aantal

                     );
    }

    public function getBestelling()
    {

        return $this->_items;
    }
}



class Winkelwagen
{
    private $_aantal;

    public function __construct(Artikel $_artikelId, $_aantal)
    {

        $this->_artikelId = $_artikelId;
    }


    public function getTotaal()
    {

        foreach ($this->_item as $Wagen)
        {

            return $Wagen['prijs'] * $Wagen['aantal'];
        }
    }

}


?>

Er zullen nog wat foutjes in zitten want ik moest even snel...
 

29/03/2011 20:05:40
Quote Anchor link
En je hebt geen klassendiagram gemaakt? :-/ Ik dacht dat je het officieel wou doen.
 
Bram Boos

Bram Boos

29/03/2011 21:49:47
Quote Anchor link
Karl Karl op 29/03/2011 20:05:40:
En je hebt geen klassendiagram gemaakt? :-/ Ik dacht dat je het officieel wou doen.


Ja en nee. Ik heb geen idee hoe ik zo'n diagram zou moeten maken. Vandaar dat ik misschien maar wat code moest plaatsen om het te verduidelijken...
 
Jelmer -

Jelmer -

30/03/2011 09:12:12
Quote Anchor link
Maak het nu nog even werkend en verzin er dan eens een heel klein scriptje bij waarin je het gebruikt. De Adapter vervang je dan even met een eigen class die gewoon werkt met arrays en hard-coded artikelen en geen db, maar die van buiten wel lijkt op de echte adapter.

Eigenlijk maak je een soort testcase, alleen gebruik je hem nu niet alleen om te testen of je objecten doen wat ze moeten doen, maar vooral om te kijken of je niet iets vergeten bent. Pas wanneer je probeert je classes te gebruiken zal je merken dat sommige dingen onhandig zijn of helemaal niet kunnen (hoe kom ik nu bij de prijs van dit product!? hoe kan ik nu dat ene product uit het winkelwagentje halen?!)


Iets simpels als dit, het liefst zo dom mogelijk want het is alleen maar even om te kijken of je class-interface volledig is.
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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php
session_start();

$adapter = new Adapter(); // dummy

if (!isset($_SESSION['wagen']))
    $_SESSION['wagen'] = new Winkelwagen($adapter);

if (isset($_POST['action']))
{

    if ($_POST['action'] == 'add' && isset($_POST['artikel_id']))
    {

        foreach ($_POST['artikel_id'] as $artikel_id)
        {

            $artikel = $adapter->getArtikel($artikel_id);
            $_SESSION['wagen']->addItem($artikel);
        }
    }

    else if ($_POST['action'] == 'del' && isset($_POST['index']))
    {

        foreach ($_POST['index'] as $index)
            $_SESSION['wagen']->removeItem($index);
    }    
}


echo '<form method="post">';
echo '<input type="hidden" name="action" value="add">';

foreach ($adapter->getArtikelen() as $artikel)
    echo '
    <label>
        <input type="checkbox" name="artikel_id[]" value="'
. $artikel->id() . '">
        '
. $artikel->naam() . '
    </label><br>
    '
;

echo '<button type="submit">Voeg toe aan wagen</button>';
echo '</form>';

echo '<form method="post">';
echo '<input type="hidden" name="action" value="del">';

foreach ($_SESSION['wagen']->getArtikelen() as $index => $artikel)
    echo '
    <label>
        <input type="checkbox" name="index[]" value="'
. $index . '">
        '
. $artikel->naam() . '
    </label><br>
    '
;

echo '<button type="submit">Verwijder uit wagen</button>';
echo '</form>';
?>
 
Bram Boos

Bram Boos

30/03/2011 16:18:30
Quote Anchor link
Ik vraag mij nu af waarom je de Item class niet gebruikt? Of is die overbodig?
 
Jelmer -

Jelmer -

30/03/2011 17:16:08
Quote Anchor link
Geen idee. Dat scriptje van mij hierboven was even een voorbeeldje van wat ik bedoel met "een simpel scriptje", en is hoe ik een simpele winkelwagen zou doen. Ik heb niet echt goed gekeken naar welke methods jij je classes hebt gegeven.
 
Bram Boos

Bram Boos

30/03/2011 17:28:03
Quote Anchor link
Owh okee, ik zal vanavond eens bezig...
 
Niels K

Niels K

30/03/2011 18:46:28
Quote Anchor link
Winkelwagen als object? Wil je dat wel?

Het is heel strict gezegd toch alleen maar order met order - items?
Want getTotaal in je winkelwagen? Dat is toch niet iets wat je van winkelwagen moet verkrijgen, dat moet juist in de winkelwagen getoond worden.

Op je order objecten moet je een methode getTotal krijgen. En hoe doe je het met verzendkosten, endergelijke? Eigenlijk wil je die misschien ook wel als 'order-item' opslaan.

Is alleen mijn mening maar ;)

Edit:

btw op artikel niveau? Dat is toch ook iets wat je in je order pas berekend?
En over voorraad. Eigenlijk wil je artikelen in de webshop zonder voorraad niet eens tonen? (Artikel filter?)

En hoe haal jij categorieën op? En hoe koppel je artikelen aan een categorie?
Volgens mij wordt het tijd voor vragen en deelvragen.

Weet eerst zeker wat je wilt gaan bouwen en begin niet lukraak.
Gewijzigd op 30/03/2011 18:50:06 door Niels K
 
Bram Boos

Bram Boos

30/03/2011 20:26:05
Quote Anchor link
Nee, dat wil ik eigenlijk niet maar je moet wat...

Ik zit eigenlijk met het probleem dat mijn vorige OOP projecten meer een verzameling functies in een class was dan een OOP.

Hierdoor wil ik mij nu eens ècht gaan verdiepen... Nu wil ik dus eerst een klassediagram maken maar daar loop ik al vast. Daarom ben ik maar begonnen met het scripten en had ik gehoopt daarna een klasendiagram te kunnen maken...
 

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