[OOP] Goede aanpak?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software Developer PHP

Functie omschrijving We are looking for a dutch native speaker Voor een opdrachtgever in de regio van Geldrop ben ik op zoek naar een Software Developer PHP. Jij krijgt een rol met veel verantwoordelijkheid in een groeiende organisatie. In deze functie werkt je voornamelijk remote en op een vast moment kom je met het team samen, om samen te werken en nieuwe doelen te bepalen. Wat ga je doen? Je wordt verantwoordelijk voor de interne applicatie; Je zorgt voor de doorontwikkeling van de applicatie: zowel back-end, front-end; De basis van het werk betreft front-end technieken; Periodiek bepaal je samen met

Bekijk vacature »

Machine Software Developer

Bij een bedrijf in de machinebouw, regio Roosendaal, zijn we op zoek naar een: Machine Software Developer Waar ga je werken? Onze opdrachtgever is gespecialiseerd in de grondverzetmachines. Al meer dan 50 jaar leveren ze zowel nationaal als internationaal diverse machines. Het is een familiebedrijf met een informele werksfeer. Wat ga je doen? Als Machine Software Developer ben je verantwoordelijk voor: - Je ontwerpt, ontwikkelt en debugt software voor machinebesturingssystemen en complexe landbouwmachines; - Je stelt gebruikersinterfaces op (cabinedisplays); - Op termijn ga je softwareprojecten leiden voor specifieke machines; - Inclusief planning, documentatie en validatie; - Om specificaties te verifiëren

Bekijk vacature »

Medior/senior front end developer

Functie Vanwege de groei binnen het bedrijf zijn ze op zoek naar een Technische front end developer. Momenteel hun front end back end team gescheiden aan het werk. Hier willen ze verandering in krijgen. Omdat ook veel interne applicaties ontwikkeld worden zoeken ze iemand die hen kan helpen om de interne applicaties te voorzien van de juiste Vue.js componenten. Zodoende willen ze de interactie tussen front end en back end versoepelen en de volgende stap binnen het platform gaan zetten. Deze componenten die jij ontwikkeld zullen in elk project gebruikt worden. Het back end team bestaat momenteel uit 8 ontwikkelaars

Bekijk vacature »

Traineeship Java Developer

Functie Wat ga je doen als Java Developer? Jij start via ons bij deze opdrachtgever als Trainee Java ontwikkelaar, tijdens het traineeship ga je in 1 jaar van de basis naar professioneel Java ontwikkelaar. Je start samen met een groep trainees, volgt de aangeboden cursussen en gaat aan de slag bij één van onze opdrachtgevers. Na een aantal maanden volgt de volgende opdracht. Door de groei in jouw rol kom je op steeds complexere opdrachten terecht. Veel afwisseling dus. Collega’s met ervaring helpen je bij deze groei en samen met jouw coach ga je een persoonlijke leerplan opzetten om jou

Bekijk vacature »

Front-end (Angular) developer - remote werken

Functie Als Front-end (Angular) developer ga je aan de slag met het uitbouwen van hun webapplicatie, als één van de front-end experts ga je samen met collega’s in een devops team werken aan een nieuw front-end voor hun calculatie oplossing. Binnen de calculatiesoftware kunnen meerdere professionals tegelijk samenwerken, 3D calculaties uitvoeren en ook inzien met de benodigde specifieke details. Deze software wordt veel ingezet om projectbeschrijvingen en kosten in kaart te brengen, en tijdens de uitvoering te bewaken. Maar hiernaast liggen er in de toekomst veel meer plannen op het gebied van front-end in de andere applicaties. Genoeg te doen

Bekijk vacature »

Front-end Developer

Front-end Developers opgelet! Bij Luminis zijn ze opzoek naar jou. Lees de vacature en solliciteer direct. Luminis is een software- en technologiebedrijf met meerdere vestigingen. Vanuit deze vestigingen werken 200 professionals aan technisch hoogwaardige oplossingen voor klanten zoals KLM, Nike en Bol.com. Ook ontwikkelt Luminis eigen oplossingen op het gebied van cloud, Internet of Things, data intelligence, e-sports en e-learning. Luminis onderscheidt zich door aantoonbaar voorop te lopen in technologie en innovatie. Luminis heeft drie kernpunten die verankerd zitten in alles wat we doen: het omarmen van nieuwe technologie, meesterschap en kennis delen. Functiebeschrijving First things first! Het is belangrijk

Bekijk vacature »

Freelance JAVA / C# Developer

Functieomschrijving Voor een opdrachtgever in omgeving Zoetermeer zijn wij op zoek naar ervaren JAVA of C# Developers die graag op projectbasis willen werken. Je komt terecht bij een informele developers club die mooie projecten uitvoeren voor grote klanten. Ben je een ervaren freelancer of werk je in loondienst en ben je toe aan een nieuwe uitdaging? Lees dan snel verder want wie weet is dit een leuke vacature voor jou! Het fijne van deze werkgever is dat je zelf mag beslissen hoe je te werk wilt gaan. Wil je als freelancer werken dan is dat OK. Wil je de zekerheid

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

Functie omschrijving Voor een bedrijf in Den Bosch zoek ik een PHP Developer, die al wat werkervaring heeft. Jij gaat aan de slag met de verdere professionalisering van de interne applicaties en software. In de functie ga je verder: Verdere ontwikkeling eigen CRM systeem, vooral middels PHP; Bouwen van verschillende API's & koppelingen; Meedenken om de software/applicaties te verbeteren/optimaliseren; Aan de slag met de interne tooling. Bedrijfsprofiel Dit bedrijf is actief binnen de telecombranche. Het hoofdkantoor zit in regio van Den Bosch en er werken ruim 70 medewerkers, verdeeld over verschillende afdelingen. De afdeling Development bestaat uit vijf collega's, onder

Bekijk vacature »

Ambitieuze Junior/Medior Low-code Developers gezoc

Bedrijfsomschrijving Transformeer bedrijven met jouw expertise in innovatieve technologie Ben je een bedreven softwareontwikkelaar met ervaring in Low-code platformen, of sta je te popelen om je in deze baanbrekende oplossing te verdiepen? Wij zijn op zoek naar jou! Ons klantenbestand groeit en we willen ons team uitbreiden met deskundige en leergierige Low-code specialisten. Is het jouw passie om organisaties te ondersteunen in hun digitale transformatie en maatwerkoplossingen te bieden met behulp van geavanceerde software? Wij zijn een vooruitstrevend bedrijf dat dagelijks werkt aan het oplossen van complexe vraagstukken om de digitale ambities van onze klanten te realiseren. Functieomschrijving Ontwikkel op

Bekijk vacature »

Junior Software Developer (HBO / WO)

Functie omschrijving Voor een leuke opdrachtgever zijn wij op zoek naar een Junior Software Developer! Sta jij aan het begin van je carrière en heb je net je HBO of WO-diploma in de richting van ICT of Techniek mogen ontvangen? En heb jij grote affiniteit met software development? Dan hebben wij bij Jelling IT Professionals de perfecte opdrachtgever in de omgeving van Hoofddorp. Binnen deze functie vervul je een onsite learning programma waarbij je aan de slag gaat met PHP en Laravel. Hierbij ben je voornamelijk werkzaam op verschillende klantlocaties en is het jouw taak om hun wensen en eisen

Bekijk vacature »

Java developer

Functie Je gaat aan de slag als Tester voor een aantal mooie projecten. Je komt terecht in een DevOps team waar jij aan de slag gaat om de kwaliteit te waarborgen omtrent de maatwerk software voor de klanten. Je draait je hand er niet voor om de adviserende rol te bekleden op het gebied van testautomatisering en het opzetten van testframeworks. Zoals aangegeven ga je daadwerkelijk in het eigen team aan de slag en is het daarnaast ook gebruikelijk bij de klanten op locatie te komen om te werken aan de opdrachten. Je krijgt zodoende echt een mooie kijk in

Bekijk vacature »

Embedded Software Developer

Functie omschrijving Voor een mooi softwarebedrijf in omgeving Moordrecht zijn wij op zoek naar een Embedded Software developer. Ben jij enthousiast en een echte team player? Lees dan snel of dit iets voor jou is! Binnen deze rol houdt jij je bezig met alle werkzaamheden die nodig zijn om een functionaliteit te bouwen. Denk aan ontwerpen, architectuur, programmeren en algoritmes. Je voert test en validatie werkzaamheden uit bij de implementatie bij de klant. Ben jij een Embedded Software Developer die affiniteit heeft met de allernieuwste technieken? Laat dan snel wat van je horen! Bedrijfsprofiel Onze opdrachtgever bestaat uit een groot

Bekijk vacature »

Senior Node.js developer Digital Agency

Functie Door de groei van de organisatie zijn ze op zoek naar een Tech Lead. Als tech lead ben jij verantwoordelijk Als Back end Node.js developer kom je terecht in een van de 8 multidisciplinaire teams in het projectenhuis. Afhankelijk van jouw interesses, wensen en capaciteiten word je bij projecten en onderwerpen naar keuze betrokken. Als ervaren ontwikkelaar zul jij vaak leiding nemen in de projecten en in het team een aanvoerder zijn van technische discussies. Uiteindelijk wil jij natuurlijk de klantwensen zo goed mogelijk vertalen naar robuuste code. De projecten kunnen varieren van langlopende- tot kleinschalige trajecten. Voorheen werkte

Bekijk vacature »

Back end developer Digital Agency

Functie Wij zijn van origine een wordpress bureau, maar sinds 2006 zijn wij dit wel redelijk ontgroeid. Naar mate de jaren verstreken zijn we gegroeid in omvang, maar ook in de complexiteit van opdrachten waarin wij onze klanten kunnen bedienen. Momenteel bestaat onze organisatie uit 4 front end developers, 12 back end developer 3 projectmanagers en een 2 koppig management. Wij zijn een hele informele, bijna familiaire organisatie. Geen strak pak of overhemd, nee gewoon dragen waar jij je prettig bij voelt. De gemiddelde leeftijd ligt tussen de 25 en 30 en wij doen er veel aan om onze hechte

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

22/12/2024 06:25:39
 

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.