[OOP] Goede aanpak?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET developer

Functie Jij begint als .NET ontwikkelaar in een team met 10 andere Software Engineers. De werkzaamheden zijn afwisselend, zo kan het dat jij bezig bent met volledig nieuwe features of het door ontwikkelen van bestaande sites of shops. Wij ontwikkelen web applicaties, maar ook mobiele applicaties. Daarnaast bijt jij je soms ook van in externe koppelingen met systemen zoals een ERP. Als team is er een duidelijke focus m.b.t. het waarborgen van de performance en snelheid van webshops. Ook zijn wij expert op het gebied van configuratoren. Kortom enorm veel afwisselende werkzaamheden! Ook jouw werkplek kan afwisselend zijn. Soms heb

Bekijk vacature »

PHP Programmeur

Functieomschrijving Vanuit het hoofdkantoor in omgeving Breda, ontwikkel je als PHP programmeur niet alleen webapplicaties, maar ben je verder ook gefocust op het constant inspelen op nieuwe innovaties m.b.t software ontwikkeling. Naast het ontwikkelen van webapplicaties, bouwt deze toffe werkgever ook webshops en websites voor hun opdrachtgevers. Wat ga je doen? Het testen van ontwikkelde applicaties om te zorgen dat ze goed functioneren en voldoen aan de eisen van de klanten; Het ontwerpen en implementeren van webapplicaties met het Symfony framework; Het schrijven van een schone en efficiënte code volgens het Symfony framework; Onderhouden en updaten van bestaande applicaties die

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 »

Microsoft Acess Developer

Functieomschrijving Wat ga je doen? Heb jij ongeveer 3 jaar ervaring als Software Developer, en komen de volgende kennisgebieden jou niet vreemd voor: MS Acces, C# & SQL? Vind jij het daarnaast leuk om maatwerk software te ontwikkelen voor klanten in een bijzondere branche? Lees dan snel verder! Als developer ben jij samen met een gemotiveerd team van 10 collega’s verantwoordelijk voor het creëren van aangemeten software voor klanten. Je bent klantvriendelijk en oplossingsgericht ingesteld, omdat het essentieel is om de klanten zo goed mogelijk te helpen met hun uitdagingen. Het is mogelijk om vanuit huis je werkzaamheden uit te

Bekijk vacature »

Belastingdienst - Freelance Applicatieontwikkelaar

Startdatum: 01.06.2023 Richttarief: €65,00 - €75,00 Duur van de opdracht: 6 maanden Uren per week: 36 Taal: Nederlands vereist! Gelieve in het Nederlands te solliciteren. Hybride. Kantoordagen in Utrecht, incidenteel in Apeldoorn Functieomschrijving: De afdeling IV – Generieke Voorzieningen – Interactie Online is onderdeel van de keten Interactie. De missie van de keten is: “het faciliteren van de interactie met alle burgers, bedrijven en hun vertegenwoordigers om hen in staat te stellen aan hun fiscale verplichtingen te voldoen en aanspraak te maken op hun rechten.” De afdeling Interactie Online heeft een belangrijke bijdrage binnen deze keten. Dit door het ontwikkelen

Bekijk vacature »

Junior/medior PHP developer Onderwijssector

Functie Momenteel zijn ze op zoek naar een developer die, veelal fullstack, mee gaat werken aan de ontwikkeling van de producten en zo helpt aan de uitvoering van hun ontwikkelprojecten. Je komt te werken binnen hun development team bestaande uit 6 ontwikkelaars. Ze staan zowel open voor meer junior als medior/senior developers. Je kunt snel veel verantwoordelijkheid krijgen en doorgroeien binnen het bedrijf. Bovendien ben je betrokken bij het bepalen van de product roadmap en de inbreng van (nieuwe) technologieën. De applicaties waaraan je werk worden gebruikt op onderwijsinstellingen door heel Nederland. De tech-stack bestaat voornamelijk uit Laravel (PHP), Vue.js

Bekijk vacature »

Embedded Developer C++

Functie omschrijving Ben jij op zoek naar een leuke uitdaging als Embedded Developer, zoek dan niet verder! Voor een leuke opdrachtgever in omgeving Rotterdam zijn wij op zoek naar een Embedded Developer die graag met Embedded Devices werkt. Je zult verantwoordelijk worden voor het ontwikkelen en onderhouden van diverse producten. Jouw specialisatie ligt op het vlak van software, hardware en back-end. Dit bedrijf is gespecialiseerd in het ontwerpen van software voor een unieke industrie. Wil jij betrokken worden bij een proces dat loopt van ontwikkeling tot installatie? Waarbij je bezig zult zijn met perfecte systemen die geleverd worden aan binnen

Bekijk vacature »

Lead Fullstack developer

Functie omschrijving Ben jij een leergierige en ambitieuze junior developer met technische skills? Ben jij op zoek naar een werkgever die jouw de volledige vrijheid geeft om jezelf tot een volwaardige senior te ontwikkelen? Wij zijn op zoek naar een full stack developer die zich bezig wil bezig houden met het uitbreiden en verbeteren van de online webshop. Een onderdeel van jouw werkzaamheden is naast het beheren van de webshop ook om de processen en structuren te stroomlijnen. Werkzaamheden Onderhouden van de webshop (denk aan het bijhouden van de voorraad); Nieuwe functies toevoegen aan de product configurator door middel van

Bekijk vacature »

.NET developer

Functie As a .NET developer you work together in a multidisciplinary development team with 1-2 Senior .NET developers, two front-end developers, Data Scientists and one UX designer. As a team you work on developing a Cloud based application and making this application more stable. Unit testing will also become very important in your new position. Together with the Senior .NET developer you will be responsible for developing the API. You work with a lot of data and occasionally there will also be data issues and some queries will have to be run. This means that you will work a lot

Bekijk vacature »

C# developer

Functie Als ervaren Software Engineer wordt jij verantwoordelijk voor het bedenken en ontwikkelen van technische (maatwerk) oplossingen voor onze klanten en dit samen met de klant af te stemmen. Jij wordt o.a. verantwoordelijk voor de doorontwikkeling het software pakket welke voor ons enorm belangrijk is. Dit pakket zorgt er namelijk voor dat wij complete productielijnen kunnen aansturen en monitoren. Daarnaast heb jij actief contact met onze hoofdvestiging om het software achter een van onze systemen te verbeteren en te herschrijven. Momenteel zijn onze C# applicaties geschreven met o.a. Winforms. Echter hebben wij de actieve ambitie om dit te gaan herschrijven

Bekijk vacature »

.NET Developer

Functie De perfecte combinatie tussen techniek en vastgoed. Werk samen met de senior software developer om allerlei software van fluX te verbeteren. Gelukkig voel jij je helemaal thuis in de codewereld van .NET. Dus of je nu bezig bent met het verhogen van de conformiteitscore of het automatiseren van allerlei taxatiemodellen, jij weet precies hoe je de doelstellingen realiseert. En dat terwijl je ook samenwerkt met een extern ontwikkelteam. Waar dit team bepaalde softwaresystemen ontwikkelen, richt jij je vooral op onze Nederlands georiënteerde producten en alle wetgeving die daarbij komt kijken. Voor minimaal 32 uur per week verrijk jij onze

Bekijk vacature »

Full stack .NET developer Microsoft 365

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

C# Developer

Dit ga je doen Je gaat aan de slag in het websites team of portals team waarin je je bezighoudt met concept & design, implementatie en ook een stukje bugfixing en onderhoud; Je werkt met je team volgens de Scrum werkwijze; Zo adviseer je ook de PO & Scrum Master over de technische architectuur, koppelingen en integratie met externe systemen en API’s; Je blijft op de hoogte van de laatste ontwikkelingen en trends op het gebied van C# / .NET en deelt deze kennis binnen de organisatie. Hier ga je werken Onze klant is een internationale organisatie gevestigd in de

Bekijk vacature »

Software Developer

Dit ga je doen Je bent verantwoordelijk voor de warehouse applicatie die een integratie heeft met de PLC laag; Je ontwikkelt in C#/.Net; Je bent verantwoordelijk voor het ontwikkelen van interfaces en het visualiseren van componenten; Je denkt mee over het design voor business oplossingen; Je bent verantwoordelijk voor het testen van de gebouwde oplossing. Hier ga je werken Voor een internationale organisatie in de transport zijn wij momenteel op zoek naar een Software Developer. Ze zijn wereldwijd de grootste speler en lopen voorop met het automatiseren van alle processen van de warehouses. Op dit moment wordt er nog gebruik

Bekijk vacature »

No-Code Betty Blocks ontwikkelaar

Bedrijfsomschrijving Wil jij de bedrijfsprocessen van klanten revolutionair digitaliseren en optimaliseren zonder beperkt te worden door programmeertalen? Kom werken bij een snelgroeiende en professionele organisatie met een gezonde dosis humor en veel vrijheid om jezelf te ontwikkelen. Als No-Code Betty Blocks ontwikkelaar werk je vanuit ons kantoor in het hart van Nederland, je thuiswerkplek of op locatie bij de klant. We faciliteren de juiste trainingen en ondersteuning zodat je een echte Betty Blocks expert wordt. Naast het werk zijn er bij ons bijzondere events, zoals een jaarlijkse zeildag, een zomerse barbecue en een knus kerstdiner om de grillige maanden door

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/04/2024 15:02:17
 

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.