IDEPAT opdracht B
Hogeschool Leiden
IDEPAT
Versie 1.0
,Versie 1.0
Inhoudsopgave
1. Practicumopdracht B Decorator........................................................................................................2
1.1. Context.......................................................................................................................................2
1.2. Probleemstelling.........................................................................................................................2
1.3. Oplossing....................................................................................................................................3
1.3.1. Class diagrams......................................................................................................................3
1.3.2. Object interactie..................................................................................................................5
1.3.3. Object Oriented Design Principles.......................................................................................7
2. Bronnen.............................................................................................................................................8
1
Versie 1.0
, Versie 1.0
1. Practicumopdracht B Decorator
1.1. Context
De Java Reader klasse (java.io.Reader) is de basis voor alle Reader subklassen in de Java IO API. Een
aantal van deze subklassen zijn CharArrayReader, PipedReader, FilterReader, PushbackReader,
StringReader. De Java Reader is bedoeld om karakters te lezen en lijkt hierbij op een Java
InputStram. De Java InputStream leest alleen ruwe bytes in plaats van karakters.
1.2. Probleemstelling
De Java Reader klasse is een goede tool voor het lezen van tekst. Helaas is er wel een probleem bij
het gebruiken van de Java Reader. Wanneer je namelijk verschillende Reader combinaties met
verschillende attributen wilt gebruiken, zul je voor elke combinatie een nieuwe klasse moeten
aanmaken. Dit zorgt ervoor dat de klassen exponentieel toenemen wat leidt tot een
combinatorische explosie. Dit zorgt voor een onoverzichtelijke codebase, waardoor het moeilijk is
om de code te onderhouden en uit te bereiden.
2
Versie 1.0
Hogeschool Leiden
IDEPAT
Versie 1.0
,Versie 1.0
Inhoudsopgave
1. Practicumopdracht B Decorator........................................................................................................2
1.1. Context.......................................................................................................................................2
1.2. Probleemstelling.........................................................................................................................2
1.3. Oplossing....................................................................................................................................3
1.3.1. Class diagrams......................................................................................................................3
1.3.2. Object interactie..................................................................................................................5
1.3.3. Object Oriented Design Principles.......................................................................................7
2. Bronnen.............................................................................................................................................8
1
Versie 1.0
, Versie 1.0
1. Practicumopdracht B Decorator
1.1. Context
De Java Reader klasse (java.io.Reader) is de basis voor alle Reader subklassen in de Java IO API. Een
aantal van deze subklassen zijn CharArrayReader, PipedReader, FilterReader, PushbackReader,
StringReader. De Java Reader is bedoeld om karakters te lezen en lijkt hierbij op een Java
InputStram. De Java InputStream leest alleen ruwe bytes in plaats van karakters.
1.2. Probleemstelling
De Java Reader klasse is een goede tool voor het lezen van tekst. Helaas is er wel een probleem bij
het gebruiken van de Java Reader. Wanneer je namelijk verschillende Reader combinaties met
verschillende attributen wilt gebruiken, zul je voor elke combinatie een nieuwe klasse moeten
aanmaken. Dit zorgt ervoor dat de klassen exponentieel toenemen wat leidt tot een
combinatorische explosie. Dit zorgt voor een onoverzichtelijke codebase, waardoor het moeilijk is
om de code te onderhouden en uit te bereiden.
2
Versie 1.0