[OOP] Goede aanpak?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Python developer Consultancy

Functie Als Python developer bij deze organisatie werk je voor verschillende klanten. Doordat de oprichter een groot netwerk heeft kun je zelf voorkeuren uitspreken in het type projecten dat je wilt gaan doen. Zo zijn er bijvoorbeeld langdurige of juist korte projecten, maar is ook het type klant, of project bespreekbaar. Werk jij bijvoorbeeld graag aan een nieuw, state-of-the-art web portaal of ben je liever betrokken bij een migratietraject van een bestaande applicatie? Wij gaan voor jou aan de slag! Eisen • Je bent een gedreven developer met sterke voorkeur voor Python • Je bent meer dan een codeklopper •

Bekijk vacature »

Junior Front-End Developer

Je maakt een vliegende start van je carrière, door meteen mee te bouwen aan de digitale oplossingen van Coolblue. Wat doe je als Junior Front-End Developer bij Coolblue? Als Junior Front-End Developer ben je meteen vanaf de start onderdeel van een development team. Je kijkt veel mee met collega’s en volgt trainingen. Op dat moment komt je wil om te blijven leren naar boven. Daarnaast pak je in de sprints ook je eigen stories op om Coolblue iedere dag een beetje beter te maken. Je sterk analytisch vermogen komt dan goed van pas! Ook Junior Front-End Developer worden bij Coolblue?

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Front end ontwikkelaar

Functie Het huidige team bestaat uit momenteel uit 5 back end developers verdeeld van senior tot junior. Omdat de gehele front end van applicaties anders gaan insteken zijn ze op zoek naar een ervaren Front end developer die hen kan helpen de juiste keuzes te maken. Je krijgt veel vrijheid om te bepalen hoe je dit wilt ontwikkelen en vrijheid in welke techniek je hiervoor wilt gebruiken. Je zult je dus bezighouden met architectuur, documentatie en natuurlijk ontwikkeling van nieuwe functionaliteiten binnen de verschillende applicaties. natuurlijk heb jij ook mogelijkheden om te sparren binnen het team, maar ze gaan uit

Bekijk vacature »

Starter/junior PHP developer

Functie Momenteel zijn ze op zoek naar een junior PHP developer om het team te versterken. Als back-end developer bouw je de enterprise software die hun bedrijf helpt bij haar primaire processen. Afhankelijk van de omvang van het project werk je in een klein team aan een project. Ze hebben dagelijkse stand-ups en elke twee weken een scrumsessie, begeleid door de Scrum Master, waar je je ideeën kunt presenteren en samen met de Product Owner kunt werken aan het beste product. Ze vertrouwen enorm op hun eigen bedrijfssoftware. Dit geeft hun een groot voordeel ten opzichte van hun concurrentie. Zo

Bekijk vacature »

Oracle APEX Ontwikkelaar (3.500-6.000 euro)

Bedrijfsomschrijving Ben jij een getalenteerde Oracle APEX ontwikkelaar met minimaal één jaar ervaring in het ontwikkelen van Oracle APEX-applicaties? Ben je gepassioneerd over het ontwikkelen van bedrijfskritische oplossingen en wil je werken bij een toonaangevend consultancybedrijf? Dan zijn wij op zoek naar jou! Deze organisatie beschikt over zowel inhouse als externe projecten, maar bovenal over een sterk team en netwerk van opdrachten waardoor jij jezelf verder kunt ontwikkelen. Het team bestaat uit een aantal junior en medior developers, maar vooral uit senioren. De business unit managers binnen het team zijn mensen die hun vak verstaan en zelf als Oracle APEX

Bekijk vacature »

Front end developer

Functie Qua type opdrachten is er echt een verscheidenheid aan afnemers, zo werken ze met grote multinationals, maar ook met startups. Zo kom je te werken in een gevarieerde omgeving en kan je ook schakelen tussen verschillende culturen. De projecten variëren van greenfield projecten tot langdurige ontwikkeltrajecten. Hier wordt alleen maar gewerkt met aan front end projecten. Daarom maakt het onze partner niet uit waar jij kennis van hebt, als je maar gedegen kennis hebt van Javascript frameworks, Unit testing en ook bekend bent met de scrum methodiek. Eisen Minimaal 4 jaar relevante werkervaring Kennen en ervaring van Javascript frameworks

Bekijk vacature »

.NET software developer

Functie omschrijving Voor een gewilde werkgever in omgeving Roosendaal zijn wij op zoek naar een back-end software developer met een aantal jaar werkervaring. Je krijgt een plekje in het workflow team en je zal betrokken worden bij het bouwen van nieuwe software, en het optimaliseren van bestaande code. Je werkt bij dit bedrijf in een Scrum team waarin je soms klantcontact hebt. Jouw werkzaamheden zullen er als volgt uit zien: Je krijgt een plekje op de in-house IT afdeling. Deze afdeling bestaat uit zo'n 12 collega's, verdeeld over verschillende specialisaties (BI, Beheer, Business software & workflow). De vacature staat open

Bekijk vacature »

Productontwikkelaar Food

Wat ga je doen Als Productontwikkelaar Food ga je nieuwe producten ontwikkelen en bestaande producten verbeteren. Je bent hierbij betrokken bij het gehele proces: van productconcept naar proefreceptuur, het realiseren va het product (op kleine schaal) en het testen van producten in een productieomgeving. Verder: Bewaak je de status van verschillende fases van productontwikkeling en lever je tijdig de benodigde data aan Ben je bezig met de optimalisatie van oude en nieuwe recepturen Begeleid of organiseer je proefsessies (sensorisch onderzoek) in het team en/of bij klanten Onderhoud je contacten met de klanten, leveranciers van grondstoffen e.a. externe partijen Houd je

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 ontwikkelaar

Functie Met een complex en uitgebreid e-commerce platform, een eigen PIM-systeem en eigen scan applicatie – krijg jij dagelijks te zien hoe jouw werk gebruikt wordt door miljoenen gebruikers. En we staan qua development pas in de startblokken, aangezien er nog meerdere projecten op de plank liggen te wachten! Ons huidige development team bestaat uit 8 programmeurs. Er wordt dagelijks gereflecteerd op geschreven code, Scrum taken en kennisdelen onderling is een must. Onze voertaal binnen ons team is Engels, dit omdat wij twee internationale collega’s hebben. Ons huidige “IT Landschap” bestaat voornamelijk uit allerlei losse onderdelen die individueel, maar ook

Bekijk vacature »

C# .NET Ontwikkelaar ASP.NET

Samengevat: Deze werkgever is een inkooporganisatie. Ben jij een ervaren .Net ontwikkelaar? Heb je ervaring met .Net en C#? Vaste baan: C# .NET Developer .Net MBO HBO €3.100 - €4.300 Onze missie is: “Een essentiële bijdrage leveren aan het verlagen van de integrale kostprijs van de aangesloten groothandels, middels het bundelen van inkoopvolume en het creëren van synergie met en tussen de groothandels en leveranciers, met scherpe inkoopprijzen, goede handelscondities en gerichte dienstverlening als resultaat” Zij werken voor MKB klanten. Deze werkgever heeft veel verschillende projecten. Houd jij van afwisseling? Dan zit je bij hun goed! De branche van dit

Bekijk vacature »

C# .NET Backend Developer HBO Javascript

Samengevat: Deze werkgever is een professionele speler op gebied van IT en E-Commerce. Wil jij werken voor een e-commerce platform? Heb je ervaring met C#, Javascript en Scrum? Vaste baan: C# .NET Developer Backend E-Commerce 3.400 - 4.500 Backend Developer Wij ontwikkelen software voor E-Commerce toepassingen. Ons eigen Content Management systeem biedt een integrale oplossing met diverse ERP software. Onze systemen zijn vaak complex en omvangrijk en draaien bij grote organisaties. Maar ook kleine ondernemingen hebben steeds vaker behoefte aan een vlekkeloos werkende E-Commerce oplossing. Zij bieden een uitdagende werkomgeving met gezellige collega's. Je krijgt veel vrijheid en er is

Bekijk vacature »

Low Code Developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en ben jij HBO afgestudeerd in de richting van IT? Heb jij verstand van datamodellering, NO CODE Platformen en kun jij het aan om projecten te leiden? Voor een leuke opdrachtgever in omgeving Rotterdam zijn wij op zoek naar een No Code developer die zich bezig gaat houden met het optimaliseren van bedrijfsprocessen bij klanten in heel het land! Wat ga je hier zoal doen? Je gaat geen code kloppen maar bedenken hoe applicaties eruit moet komen te zien. Je gaat werken met een non code platform, je kunt denken aan

Bekijk vacature »

Full Stack PHP Developer

Functieomschrijving Ervaren PHP Developer gezocht! Wij zijn op zoek naar een ervaren PHP Developer die het IT team van een organisatie in de regio Ermelo gaat versterken. Voor deze functie zijn we op zoek naar een enthousiaste en breed georiënteerde IT-er die deze innovatieve organisatie nog een stap verder gaat brengen. Wij zijn op zoek naar iemand die communicatief goed is en die zelfstandig problemen op kan lossen. Je bent verantwoordelijk voor het samenwerken met een externe partij het is hierbij jouw taak om deze partij uit te dagen op het geleverde werk. Het schrijven van concepten aan de AI

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

21/11/2024 12:42:10
 

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.