Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Einleitung
13
1 Einführung
17
1.1 Was sind Entwurfsmuster?
18
1.1.1 Entwurfsmuster in der Softwareentwicklung
19
1.1.2 Softwaredesign mithilfe von Entwurfsmustern
22
1.2 Vorteile einer entwurfsmusterbasierten Architektur
29
1.2.1 Flexibilität bei Neuanforderungen
30
1.2.2 Zeitersparnis bei der Umsetzung
31
1.2.3 Möglichkeiten der Parallelentwicklung
33
1.2.4 Wartbarkeit der Entwicklung
35
TEIL I Entwurfsmuster in ABAP implementieren
37
2 Umgang mit Entwurfsmustern
39
2.1 UML-Grafiken erstellen
39
2.1.1 Klassendiagramm
41
2.1.2 Anwendungsfalldiagramm
43
2.1.3 Sequenzdiagramm
45
2.2 Grundlagen der objektorientierten Programmierung mit ABAP
46
2.2.1 ABAP Objects
47
2.2.2 Klassen in ABAP
49
2.2.3 Programmelemente, Interfaces und Klassen verwenden
55
2.3 Programmierbeispiele in diesem Buch
62
3 Erzeugungsmuster
63
3.1 Builder Pattern
66
3.1.1 Problem
66
3.1.2 Ansatz und Lösung
66
3.1.3 Einsatzbeispiel
69
3.1.4 Umsetzung in ABAP
71
3.1.5 Evaluation
77
3.2 Factory Pattern
78
3.2.1 Problem
79
3.2.2 Ansatz und Lösung
80
3.2.3 Einsatzbeispiel
83
3.2.4 Umsetzung in ABAP
85
3.2.5 Evaluation
90
3.3 Singleton Pattern
92
3.3.1 Problem
92
3.3.2 Ansatz und Lösung
93
3.3.3 Einsatzbeispiele
95
3.3.4 Umsetzung in ABAP
97
3.3.5 Evaluation
99
3.4 Prototype Pattern
101
3.4.1 Problem
102
3.4.2 Ansatz und Lösung
102
3.4.3 Einsatzbeispiele
103
3.4.4 Umsetzung in ABAP
104
3.4.5 Evaluation
107
4 Strukturmuster
109
4.1 Model View Controller
110
4.1.1 Problem
111
4.1.2 Ansatz und Lösung
111
4.1.3 Einsatzbeispiele
114
4.1.4 Umsetzung in ABAP
116
4.1.5 Evaluation
120
4.2 Adapter Pattern
121
4.2.1 Problem
121
4.2.2 Ansatz und Lösung
122
4.2.3 Einsatzbeispiele
125
4.2.4 Umsetzung in ABAP
125
4.2.5 Evaluation
129
4.3 Composite Pattern
130
4.3.1 Problem
130
4.3.2 Ansatz und Lösung
130
4.3.3 Einsatzbeispiele
131
4.3.4 Umsetzung in ABAP
134
4.3.5 Evaluation
142
4.4 Façade Pattern
143
4.4.1 Problem
143
4.4.2 Ansatz und Lösung
144
4.4.3 Einsatzbeispiele
147
4.4.4 Umsetzung in ABAP
151
4.4.5 Evaluation
155
5 Verhaltensmuster
157
5.1 Command Pattern
159
5.1.1 Problem
159
5.1.2 Ansatz und Lösung
160
5.1.3 Einsatzbeispiele
162
5.1.4 Umsetzung in ABAP
163
5.1.5 Evaluation
167
5.2 Interpreter Pattern
169
5.2.1 Problem
169
5.2.2 Ansatz und Lösung
170
5.2.3 Einsatzbeispiele
172
5.2.4 Umsetzung in ABAP
174
5.2.5 Evaluation
181
5.3 Iterator Pattern
182
5.3.1 Problem
183
5.3.2 Ansatz und Lösung
183
5.3.3 Einsatzbeispiele
185
5.3.4 Umsetzung in ABAP
186
5.3.5 Evaluation
193
5.4 Mediator Pattern
194
5.4.1 Problem
195
5.4.2 Ansatz und Lösung
195
5.4.3 Einsatzbeispiele
197
5.4.4 Umsetzung in ABAP
198
5.4.5 Evaluation
203
5.5 Observer Pattern
204
5.5.1 Problem
204
5.5.2 Ansatz und Lösung
204
5.5.3 Einsatzbeispiele
207
5.5.4 Umsetzung in ABAP
207
5.5.5 Evaluation
212
5.6 State Pattern
212
5.6.1 Problem
213
5.6.2 Ansatz und Lösung
213
5.6.3 Einsatzbeispiele
215
5.6.4 Umsetzung in ABAP
217
5.6.5 Evaluation
222
5.7 Strategy Pattern
223
5.7.1 Problem
224
5.7.2 Ansatz und Lösung
225
5.7.3 Einsatzbeispiele
226
5.7.4 Umsetzung in ABAP
227
5.7.5 Evaluation
230
5.8 Template Pattern
231
5.8.1 Problem
232
5.8.2 Ansatz und Lösung
232
5.8.3 Einsatzbeispiele
234
5.8.4 Umsetzung in ABAP
234
5.8.5 Evaluation
239
5.9 Visitor Pattern
240
5.9.1 Problem
240
5.9.2 Ansatz und Lösung
240
5.9.3 Einsatzbeispiele
243
5.9.4 Umsetzung in ABAP
244
5.9.5 Evaluation
251
TEIL II Anwendungsentwicklung mithilfe von Entwurfsmustern
253
6 Entwicklungsprojekte umsetzen
255
6.1 Vor Projektstart
255
6.2 Aufbau einer ganzheitlichen Architektur
261
6.3 Umsetzungsmethoden
264
6.3.1 Wasserfall-Methode
264
6.3.2 Scrum-Methode
268
6.3.3 Kanban-Methode
279
6.4 Review-Verfahren
284
7 Flexible Entwicklung einer Beispielanwendung
287
7.1 Planung und Konzipierung der Beispielanwendung
288
7.1.1 Berechtigungen und Layoutsteuerung
290
7.1.2 Anwendungsarchitektur
292
7.2 Implementierung der Beispielanwendung
295
7.2.1 Allgemeine Elemente für die Beispielanwendung
296
7.2.2 Schichtenmodell (Model View Controller)
299
7.2.3 Auftragserzeugung (Factory Pattern)
315
7.2.4 Layoutsteuerung (Template Pattern)
329
7.2.5 Berechtigungssteuerung (Command Pattern)
336
7.2.6 Sperrverfahren (Model View Controller)
348
7.2.7 Plausibilitätsprüfungen (Template, Façade und Composite Pattern)
359
7.2.8 Anwendungslog (Singleton Pattern)
372
Die Autoren
377
Index
379