Java patterns Introductie tot GoF patterns in Java.

Slides:



Advertisements
Verwante presentaties

Advertisements

CIMSOLUTIONS B.V. CIMSOLUTIONS Automation for Industry & Business SIG Embedded “Proces Ellende” André Vink CDP real-time embedded 28 september 2005.
KINN 2010 •OOP •O Object •O Georiënteerd •P Programmeren.
Programmeren in Java met BlueJ
Hogeschool HZ Zeeland 19 augustus 2003augustus 2003 Data Structuren & Algoritmen Week 1.
Instructie Programmeren Task 8 5JJ70. PAGE 2 Task 8: Double Linked List Het doel van deze opdracht is: Het opbouwen van een tweetal klassen, die samen.
Van domeinklasse tot implementatie
Het ontwerpen van een klasse
Klassen en objecten.
Greenfoot Workshop Bobby - Snake.
Dries Harnie 3 e bach Computerwetenschappen Workshop 2: Integratie van Polyglot en smalltalk.
Hoofdstuk 6: Controle structuren
De koektrommel of de grabbelton
Exploratie van de ontwerpruimte 3. Prototypes, emulatie en simulatie Prof. dr. ir. Dirk Stroobandt Academiejaar
Vrij Technisch Instituut - Hasselt
Het verbeteren van een modulaire verificatie techniek voor aspect georiënteerd programmeren Alfons Laarman.
1 Voorwaarden hergebruik Modulair ontwerp Low coupling High cohesion.
1 Uit ons domein: Verzameling programmatuur voor het toewijzen van afstudeerders aan examinatoren. Invoer van voorkeuren Toewijzen Overzichten Practicum.
Inleidend probleem Data structuur (hiërarchie van classes)
Numerieke Natuurkunde
Webmaster Training: CSS CSS2 & XHTML By Frederik Van Outryve.
Designing Knowledge Systems b Hoofdstuk 11 van Knowledge Engineering and Management. The CommonKADS Methodology. b A.Th. Schreiber, J.M. Akkermans, A.A.Anjewierder,
Opgave 1a: afronden int n=5; double a, b, c, d; a = n * 1.5; b = n * 3 / 2; c = n / 2 * 3; d = 3 / 2 * n; a b c d
JAVA -- H51 CONSTRUCTOR –- COPY-CONSTRUCTOR 1Constructor: Dezelfde naam als de klasse Wordt uitgevoerd d.m.v. new Initialisatie van de (private) attributen.
Oefeningen Hoofdstuk 3.
Consoletoepassing Variabelen Klassen
Sprint 3 SuperPC JEF 02 Corbin van Amelsfoort Geoffrey Hofstede
1 Datastructuren Introductie tot de programmeeropgaven in C++ Jan van Rijn
P. 1 Vakgroep Informatietechnologie Scanf voorbeeld #include int main(void) { int i=-1,j=-1,k=-1,l=-1; int b; b=scanf("%d %d %d %d",&i,&j,&k,&l); printf("res=%d.
LauwersCollege Buitenpost Java Applet programma dat op een website zichtbaar is Java Application programma dat zelfstandig werkt Javascript Scripttaal.
Looking at Code Size and Performance Kevin Muys.  Hoe efficiënt is C++ vergeleken met C  Hoe beïnvloed C++ het benodigde geheugen  Oplossingen voor.
Opgave 1a: void nvoid staat in de header van een methode die geen resultaatwaarde heeft nde aanroep van een void-methode is dan een opdracht i.p.v. een.
Opgave 2a nMet een InputStream lees je bytes uit een binare file nMet een Reader lees je characters uit een tekstfile.
OO Analyse in de praktijk OO Analyse in de praktijk V Enkele Design Patterns.
Herhaling Java-programmatie en geautomatiseerd testen (vervolg)
Overerving: It’s a kind of magic…. Principes van OO: 1) Overerving 2) Encapsulatie 3) Polymorphisme = (deel van het) OO. paradigma.
Tircms03-p les 6 Templates. Functietemplates void verwissel(int &x, int &y); { int w=x;x=y;y=w;} Dezelfde functie voor meerdere types heet een functietemplate.
Interfaces Hoofdstuk 23 Hoofdstuk 23.
Introductie tot GoF patterns in Java
Constructoren Genesis 1:1 Aarde a1 = new Aarde(“Adam”, “Eva”);
Datacommunicatie en netwerken
Tircms03-p les 4 Klassen. Abstracte datatypes in C struct stack { char info[100]; int top; }; void reset(stack *s) { s->top = -1; } void push(stack *s,
Encapsulatie: Every man is an island upon himself.
Polymorphisme en Interfaces: inleiding
Java Objectgeoriënteerd Programmeren in Java met BlueJ
Java Objectgeoriënteerd Programmeren in Java met BlueJ Hoofdstuk 7 Polymorfie en overerving © 2014, Gertjan Laan, versie 2.
Java Objectgeoriënteerd Programmeren in Java met BlueJ Hoofdstuk 8: Gebruikersinterface © 2014, Gertjan Laan, versie 2.
 C++ heeft een inheritance mechanisme  Manier om functionaliteit te ‘erfen’ van een parrent class ◦ Polymorphisme ◦ Zoals we het ook in C# kennen.
Java & het Web Programma: Contexts Listeners Scope/Attributes Thread safety.
Opdrachten en eindopdracht
Herhaling: He who does not learn from history, is doomed to repeat it.
Oscar Schuurman Geert Beuneker Tim Janssen Piotr Tekien Usability/Playability Jaar 2.
GEGEVENSSTRUCTUREN IN.NET. Inleiding  Enumerated type  Structure  Collecties  Typed collections  Untyped collections.
Na de praktijk, de theorie.. Zoals een gehaktmolen 1.Je stopt er iets in. 2.Je hoeft niet te weten wat er binnenin gebeurt. 3.Het resultaat verschijnt.
Java voor beginners Doel: Een spel maken in LWJGL Door: Jim van Leeuwen.
De definitie van een object. Een object is een verzameling van eigenschappen en bewerkingen. Veel voorkomende objecten zijn: D (display) Gui (user interface)
Bespreking testpracticum.  Javaconventies! ◦ KlasseNamen beginnen met Hoofdletter ◦ objectNamen/methodeNamen met kleine letter  Aanspreken GUI ◦ Zie.
Objectgeoriënteerd Programmeren (2)
Gameprogrammeren: Objecten en geheugen
Gameprogrammeren: Lists en interfaces
OOS Object geOrienteerd Software-ontwerp - 5
Gameprogrammeren: Game Basics
Tinpro015b-les4 Klassen.
Unified Modeling Language
‘Inleiding objectgeoriënteerd programmeren met PHP’ ‘Inleiding’
Politieke socialisatie Politieke institutie Sociale institutie
Nederlands 4h6 30/12/18
Waarden.
Software Development fundamentals
Software Development fundamentals
Transcript van de presentatie:

Java patterns Introductie tot GoF patterns in Java

Lectuur GoF boek James Cooper Bruce Eckel

Wat ? Een design pattern is een standaard oplossing voor een veel voorkomend design probleem Drie types (GoF) Creational : patterns om objecten te creeren Structural : patterns om objecten samen te stellen Behavioral : patterns om onderling gedrag van objecten te regelen, alle andere dus…

Creational Factory objecten creeren via factory interface Abstract Factory factory creeren via factory-factory interface Singleton klasse waarvan slechts 1 object bestaat Builder scheiding van object constructie en voorstelling Prototype objecten creeren door basisobject te klonen

Factory pattern Wat ? Objecten creeren via ander object (factory) i.p.v. rechtstreeks via constructor Wanneer ? Klasse van object nog niet gekend at compile-time Creatie van object overlaten aan subklasse Creatie = complex proces (bv. pool)

Factory pattern Opgave (Cooper) Eenvoudige Namer klasse : splitst volledige naam op in voornaam en achternaam Twee mogelijke inputs : Piet Hein Hein,Piet Factory selecteert een correcte Namer klasse afhankelijk van input (FirstFirst of LastFirst)

Singleton pattern Wat ? Aantal instantiaties van een klasse beperken tot 1 (of enkele) Wanneer ? Meestal opgelegd door het model zelf Dure objecten

Singleton pattern Opgave( Eckel ) Creeer singleton klasse Singleton Methoden : getInstance() geeft singleton object terug int getValue() geeft waarde void setValue( int value ) zet waarde Schrijf test waarin je singleton opvraagt, waarde checkt, verandert, opnieuw singleton opvraagt,…

Singleton pattern Opgave( Eckel ) Creer pool van TCP connecties Connection interface ConnectionPool : gebruikt PoolManager PoolManager : managet pool van objecten ConnectionImplementation