Programmeren volgens het lagenmodel in C# met Visual Studio

Vergelijkbare documenten
Programmeren volgens het lagenmodel in C# met Visual Studio

Programmeren volgens het lagenmodel in C# met Visual Studio 2013 HA Informaticabeheer Bert Cauwenberg en Lieven Pauwels Werkgroep Handel 2015

Programmeren met databanken volgens het lagenmodel in C#

Programmeren met databanken volgens het lagenmodel in C#

Object-oriented programmeren met BlueJ en Visual Studio

Algoritmisch denken: analyseren, ontwerpen, beschrijven van oplossingen en implementeren met Alice

Algemene begrippen i.v.m. netwerkbeheer

Hardware en beheer van computersystemen Windows 10

Hardware en beheer van computersystemen Windows 8.1 HANDLEIDING

Windows applicaties met VB.NET VB Express 2010

Windows applicaties met Visual Basic.NET. VB Express 2010 HA Werkgroep Handel Vlaams Verbond van het Katholiek Secundair Onderwijs

Producten en prijzen 2016 MBO ICT Opleidingen

FVISEMIntro kantoorsimulatie

Hardware, besturingssystemen, netwerken en internet

Hardware, besturingssystemen, netwerken en internet

Hardware, besturingssystemen, netwerken en internet

Technieken en nieuwe trends in presenteren

Rekenen Groep 7-2e helft schooljaar.

Hardware en beheer van computersystemen Windows 8.1

Netwerken en communicatie binnen en buiten het bedrijf

Windows applicaties met Visual Basic.NET

1750,00 excl. BTW. analytisch denkvermogen, empathie, assertief, communicatief, aanleg voor formalisme,...

Beheer van computersystemen Hardware, elektriciteit en analyse Cursus deel 2

Computerconfiguratie en netwerken. Windows 7 HA Vlaams Verbond van het Katholiek Secundair Onderwijs. Alle studierichtingen

Dagelijkse verrichtingen Eenvoudige boekingen. BOB versie 3.3 HA Alle handelsafdelingen Annie Vanroose Thom Van Sas Werkgroep Handel 2008

Differentiatie in 1 of 2-uursvakken

Inhoud Deel een Het ontwikkeltraject 1 2 3

Leren programmeren in C# Deel 4 - Objectoriëntatie

Rekenen Groep 6-2e helft schooljaar.

Curriculum Vitae. Ing. R. van de Roer (Rogier) Geboortedatum: 10 oktober Informatica / Informatiekunde, Den Haag

Een gelinkte lijst in C#

HUIDIG TAALPROFIEL OPLEIDINGSVLOER INFORMATICA

Tentamen Object Georiënteerd Programmeren TI januari 2013, Afdeling SCT, Faculteit EWI, TU Delft

Programmeren. Inleiding

VBA voor Doe het Zelvers Deel 13

ECTS fiche. Module info. Evaluatie. Gespreide evaluatie OPLEIDING. Handelswetenschappen en bedrijfskunde HBO Informatica

Het Tafelboekje. De tafels van 1 t/m 10

Rekenen Groep 6-1e helft schooljaar.

Inhoud. Deel een Het ontwikkeltraject 13. Inleiding 11

Profielschets. Pepijn van der Meulen. Vertrouwelijk

Antwoorden Rekenen Groep 5-1e helft schooljaar

Google Applicaties Online samenwerken. Paul Diliën ICT integratie Vlaams Verbond van het Katholiek Secundair Onderwijs

Sietse Kuipers. Leren en oefenen met breuken voor groep 7 en 8

Capita Selecta Design Patterns voor administratieve applicaties

Rekenen Groep 4-1e helft schooljaar.

Rekenen Groep 4-2e helft schooljaar.

tot oplevering (thuis e maken met ondersteuning via forum) Cursus Moodle, boek, internet

Rekenen Groep 4-2e helft schooljaar.

MBO ICT Opleidingen. Producten en prijzen Voor kwalificaties en keuzedelen. MBO ICT Opleidingen

Brunelleschi. De Dom van Florence

Basiscursus PC-gebruik

Software Factories. Toepassing van Domain Specific Languages. achtergrond

Inhoud. Introductie tot de cursus

Verantwoording van de te bezoeken les

Europees Computer Rijbewijs. module 4. Excel Instruct, Postbus 38, 2410 AA Bodegraven - 1 e druk: september 2004 ISBN:

Inleiding tot programmeren: Javascript

Werken met ActiveX (COM) componenten in.net

Bewaken vitale functies en verlenen van eerste hulp

Info 3 de graad Business en IT (Boekhouden Informatica) 14 MAART 2009

Geen fabriekswerk. Roeien met de wind mee en de stroom tegen. Jac Willekens

Richtlijn Het Activerende Directe Instructie Model

Voor de database wordt een Access 2000 bestand gebruikt, met voorlopig 1 tabel:

Publicaties ontwikkelen met MS Publisher 2013

Opdrachtformulering (pagina 3 van 7)

Studiehandleiding. Engels voor gevorderden

Studiehandleiding. Pianospelen met Jan Vayne voor beginners

Software Architect. Omschrijving. Programma

Inhoud. Introductie tot de cursus

Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.

Verantwoording van het Logica In Lagen referentiemodel

Dynamiek met VO-Script

UML. From weblog Dennis Snippert

De beheerrisico s van architectuur

Waarom een nieuwe reeks?

Visual Basic.NET. Visual Basic.NET. M. den Besten 0.3 VB. NET

DR-UAVP-X. Deelreglement UAV - geïntegreerde contracten in de praktijk (UAVP)

Studiehandleiding. Russisch voor beginners

Zelftest Informatica-terminologie

Transcriptie:

Programmeren volgens het lagenmodel in C# met Visual Studio HA-2266-02 Informaticabeheer Bert Cauwenberg en Lieven Pauwels Werkgroep Handel 2016 Guimardstraat 1, 1040 Brussel

Guimardstraat 1, 1040 Brussel Programmeren volgens het lagenmodel in C# met Visual Studio HA-2266-02 Informaticabeheer Bert Cauwenberg en Lieven Pauwels Werkgroep Handel 2016 http://handel.vvkso.net D/2016/13.758/039 Alle rechten voorbehouden. Behoudens de uitdrukkelijk bij wet bepaalde uitzonderingen mag niets uit deze uitgave worden verveelvoudigd, opgeslagen in een geautomatiseerd gegevensbestand of openbaar gemaakt, op welke wijze ook, zonder de uitdrukkelijke voorafgaande en schriftelijke toestemming.

Inhoud Inleiding... 5 1.1 Wat houdt het lagenmodel in?... 5 Algemeen... 5 Terminologie en afkortingen... 7 1.1.2.1 Lagenmodel... 7 1.1.2.2 Enkele afkortingen... 7 1.2 Overzicht van de hoofdstukken... 8 1.3 Situering in de leerstof programmeren... 9 1.4 Didactische opbouw van de cursus... 10 Einddoel van deze cursus... 10 Didactische opbouw doorheen de hoofdstukken... 11 Typografische afspraken en schematisering... 12 Gebruik van class libraries uit HA-2265-02... 13 Business- versus presentatie-laag... 15 2.1 Aparte business-code... 15 Principe... 15 Voorbeeld 1: TelTekens... 18 Voorbeeld 2: IBAN-nummer... 20 Samenvatting... 23 Oefeningen... 24 2.2 De business laag volgens OOP-principes... 27 Inleiding... 27 Voorbeeld 1: Uitbreidingen voor TelTekens... 28 2.2.2.1 Uitbreiding 1... 28 2.2.2.2 Uitbreiding 2: Tussenversie A... 29 2.2.2.3 Uitbreiding 2: Tussenversie B... 30 2.2.2.4 Uitbreiding 2: Tussenversie C... 31 2.2.2.5 Uitbreiding 2: Eindversie (D)... 33 2.2.2.6 Uitbreiding 2: Samengevat... 34 2.2.2.7 Uitbreiding 2: Besluit... 36 2.2.2.8 Uitbreiding 3... 36 Voorbeeld 2: IBAN-nummer... 38 Samenvatting... 40 Oefeningen... 41 2.3 Klassen uit de business laag hergebruiken... 43 Principe en gebruik van een class library... 43 Voorbeeld: TelTekens... 46 Algemene werkwijze... 48 Oefeningen... 49 2.3.4.1 Reeks 1... 49 2.3.4.2 Reeks 2... 50 2.4 Klassen uit de business laag afschermen... 51 Principe en gebruik van een controller... 51 Voorbeeld: MonsterBattle... 52 2.4.2.1 Probleemstelling... 52 2.4.2.2 Probleemanalyse... 56 2.4.2.3 Business laag... 58 2.4.2.4 Presentatie laag... 59 2.4.2.5 Oefeningen... 60 Algemene werkwijze... 63 Oefeningen... 65

2.5 Keuzemogelijkheden voor de presentatie... 66 Beknopt overzicht... 66 Enkele voorbeelden... 67 2.5.2.1 Windows Forms... 67 2.5.2.2 Windows Presentation Foundation (WPF)... 69 2.5.2.3 Dynamische webpagina (met ASP.NET)... 74 Nog een uitgewerkt voorbeeld: DiceGame... 79 3.1 Probleemstelling... 79 Algemene omschrijving... 79 Spelregels... 79 3.2 Eerste implementatie van het spel... 80 Probleemanalyse... 80 De klasse Dice... 82 Functies en procedures... 84 Voorbeeldcode DiceGame (versie 1)... 85 3.3 Tweede implementatie... 88 Probleemanalyse... 88 Hergebruik van code (m.b.v. class libraries)... 88 Uitwerking voor DiceGame... 90 Schematisch overzicht (DiceGame versie 2)... 92 Schematisch overzicht (algemeen)... 92 Design patterns, best practices en stappenplannen... 93 4.1 Werkwijze in Visual Studio... 93 Stappenplan... 93 Tips i.v.m. naamgevingen... 93 Schematische werkwijze (versie 1)... 94 Noot... 94 4.2 Oefeningen (reeks 1)... 95 Opdrachten bij DiceGame... 95 Opdrachten met uitgewerkt algoritme... 96 Open opdrachten... 100 Remediëringsopdrachten... 103 Opmerkingen en toelichtingen bij enkele oefeningen... 106 4.3 Design patterns... 108 MVC... 108 MVP... 110 MVVM... 110 Bronnen en afspraken... 112 Stappenplan (versie 2 met controller)... 113 Schematische werkwijze (versie 2 met controller)... 114 4.4 Best practices... 115 Naamgeving... 115 Documenteren van zelf gedefinieerde klassen... 116 4.4.2.1 Annotatiecommentaar... 116 4.4.2.2 XML-gestructureerde commentaar... 117 Verstandig gebruik van IntelliSense in Visual Studio... 118 4.5 Uitwerking voor DiceGame... 119 Klassendiagram... 119 Voorbeeldcode business laag... 120 Voorbeeldcode presentatie laag (m.b.v. een controller)... 121

4.6 Oefeningen (reeks 2)... 122 Opdrachten bij DiceGame... 122 Opdrachten met uitgewerkt algoritme... 122 Open opdrachten... 122 Remediëringsopdrachten... 125 Business laag volgens OOP-principes... 127 5.0 Inleiding... 127 Bespreking DiceGame-implementatie... 127 Andere implementatie voor de DiceGame business code... 128 OOP-analyse voor het DiceGame-spel... 129 5.1 Voorbeeld: DiceGame... 130 UML-klassendiagram... 130 Uitleg bij de klassen... 131 Voorbeeldcode business laag... 133 Oefeningen... 135 5.2 Bijkomende voorbeelden... 136 BtwApp... 136 Verbruik... 137 Landmeter... 140 5.3 Oefeningen... 142 Herwerken van voorgaande opgaven... 142 Nieuwe opgaven... 143 Uitbreiden van voorgaande opgaven... 146 Addendum: UML-diagrammen... 148 Besluit: slotopmerkingen... 159