1
00:00:00,080 --> 00:00:03,040
Ich war früher immer Team 
Nintendo, da mach ich mal Team 

2
00:00:03,040 --> 00:00:04,560
playstation. 
Jetzt bin ich wieder Team 

3
00:00:05,200 --> 00:00:08,600
Nintendo. 
Nee nee, Xbox Xbox Arena nicht 

4
00:00:08,600 --> 00:00:13,360
drüber, das ist so dein Ding. 
Coding Buddies Dein Podcast rund

5
00:00:13,360 --> 00:00:16,640
um Softwareentwicklung und 
aktueller Tech News Herzlich 

6
00:00:16,640 --> 00:00:30,630
Willkommen 
Halli Hallo und herzlich 

7
00:00:30,630 --> 00:00:33,910
Willkommen zur neuen Folge des 
Coding Buddies Podcast schön, 

8
00:00:33,910 --> 00:00:34,870
dass du wieder eingeschaltet 
hast. 

9
00:00:34,870 --> 00:00:39,280
Liebe zuhören, liebe Zuhörer. 
Und deine Gastgeber, wie immer 

10
00:00:39,360 --> 00:00:44,880
meine Wenigkeit, der Dino und 
der fantastische Fabi Fabi, was 

11
00:00:44,880 --> 00:00:48,400
geht ab? 
Ich begrüße Dich Keep Coding 

12
00:00:48,440 --> 00:00:51,760
Dino ah nee, keep podcasting 
was. 

13
00:00:52,400 --> 00:00:55,280
Ja, das stimmt. 
Ich wollt einfach mal unsere. 

14
00:00:56,200 --> 00:00:59,320
Coole, ausgedachte Begrüßung im 
Podcast aufnehmen. 

15
00:01:00,000 --> 00:01:02,880
Ja, die verbreitet sich ja schon
rasant auf Twitter. 

16
00:01:03,200 --> 00:01:06,080
Ja, ja, auf jeden Fall. 
Man munkelt, dass Leute sich 

17
00:01:06,080 --> 00:01:08,480
schon erkennen auf der Straße 
wegen Keep Coding. 

18
00:01:10,120 --> 00:01:12,200
Das Problem ist, im Podcast 
funktioniert das Handzeichen 

19
00:01:12,200 --> 00:01:14,280
nicht so, also Liebe zuhören, 
Liebe zuhören, du musst dir so 

20
00:01:14,280 --> 00:01:15,680
ein cooles Handzeichen 
vorstellen. 

21
00:01:16,080 --> 00:01:18,080
Stell dir einfach ein cooles 
Handzeichen vor. 

22
00:01:18,320 --> 00:01:21,640
Das ist gut, das ist gut, weil 
selbst wenn es nicht cool wäre, 

23
00:01:21,640 --> 00:01:24,160
wäre es jetzt cool. 
Ganz genau. 

24
00:01:24,160 --> 00:01:27,040
Ganz genau. 
Und Thilo weiß das genau, ganz 

25
00:01:27,040 --> 00:01:30,960
kurz, was ich irgendwie dich 
fragen wollte, weil da hab ich 

26
00:01:30,960 --> 00:01:34,720
letztens ganz kurz off topic, 
hab ich letztens gesehen, so n 

27
00:01:34,720 --> 00:01:37,400
so n Ausschnitt davon und ich 
wollte mich interessiert das 

28
00:01:37,400 --> 00:01:39,160
wirklich ne, kannst du dich 
noch? 

29
00:01:39,160 --> 00:01:42,000
Es geht um Serien aus der 
Kindheit ne kannst du dich noch 

30
00:01:42,000 --> 00:01:45,280
dran erinnern an eine bestimmte 
Serie die heißt extreme 

31
00:01:45,280 --> 00:01:48,800
Dinosaurs. 
Na klar, ich, also ich hätt. 

32
00:01:49,120 --> 00:01:51,440
Mich von alleine nie wieder dran
erinnert, wenn ich nicht 

33
00:01:51,440 --> 00:01:53,840
irgendwie n kleinen Ausschnitt 
davon gesehen hätte, dann dachte

34
00:01:53,840 --> 00:01:55,200
ich mir so. 
Krass. 

35
00:01:55,440 --> 00:01:57,120
Ja, war. 
Heftig, oder? 

36
00:01:57,920 --> 00:02:01,720
Also warst du ne krasse Serie 
damals, ey, also muss ich sagen,

37
00:02:01,720 --> 00:02:04,560
also ich weiß nicht, wenn sich 
da noch jemand dran erinnert, 

38
00:02:04,560 --> 00:02:07,920
sag gerne mal Bescheid, mir ist 
es komplett entfallen. 

39
00:02:08,880 --> 00:02:11,680
Da gab es so mega viele coole 
Serien auch hier dieses Biker 

40
00:02:11,680 --> 00:02:13,920
meist from Mars und so, das war 
einfach krass. 

41
00:02:15,040 --> 00:02:17,440
Oder Gargolts oder so. 
Ja. 

42
00:02:17,840 --> 00:02:21,480
Das das stimmt glaub ich ne ne 
Stufe obwohl man weiß das immer 

43
00:02:21,480 --> 00:02:23,720
nicht so in meinem Kopf ist das 
gerade so n bisschen später, 

44
00:02:23,720 --> 00:02:25,880
aber wer weiß, vielleicht ist 
auch Gargolts das Älteste 

45
00:02:25,880 --> 00:02:28,960
gewesen, aber ich glaube, dass 
es so n bisschen später gewesen,

46
00:02:29,600 --> 00:02:31,560
aber es war krass. 
Keine Ahnung, ich war heftig, 

47
00:02:31,560 --> 00:02:34,560
aber ich dachte mir so, ich hab 
mich gefragt, ob nur ich das 

48
00:02:34,560 --> 00:02:37,040
kenne oder du auch, aber bin ich
ja beruhigt. 

49
00:02:38,560 --> 00:02:41,160
Ist ja auch so n bisschen unsere
Zeit, ne, also das war ja auch 

50
00:02:41,160 --> 00:02:44,480
krass, wenn du früher dann 
einfach so vorm Fernseher saß 

51
00:02:44,480 --> 00:02:47,200
und dann kam ne neue Folge und 
du konntest hier gucken, also 

52
00:02:47,360 --> 00:02:50,240
das war schon, das war schon 
krass hier, nicht Netflix hier 

53
00:02:50,240 --> 00:02:53,200
on demand. 
Ne, ja, das war krass. 

54
00:02:53,560 --> 00:02:55,400
Also ich hab mich auf jeden Fall
auch immer zum Beispiel 

55
00:02:55,400 --> 00:02:58,080
irgendwie was was darkwin Duck 
oder so fand ich richtig krass. 

56
00:02:58,400 --> 00:03:01,960
Also damals fand ich richtig 
richtig krass und da hatte ich 

57
00:03:01,960 --> 00:03:04,760
so ein so ne lieblingsfolge, die
hab ich irgendwo mal geguckt und

58
00:03:04,760 --> 00:03:07,840
ich hab die nie wieder geschaut.
Und die kam auch nie wieder. 

59
00:03:08,000 --> 00:03:09,720
Also es ist deine 
Lieblingsfolge, weil du sie nur 

60
00:03:09,720 --> 00:03:11,920
einmal gesehen hast. 
Na, die war so heftig krass, 

61
00:03:11,920 --> 00:03:14,800
weil da war der Darkwin. 
So wurde gesplittet in so guter 

62
00:03:14,800 --> 00:03:18,400
Darkwin Dark und Böser ne gute 
böse doch genau, und dann war 

63
00:03:18,400 --> 00:03:20,960
der irgendwie, also es war so 
nur die Essenz des guten und des

64
00:03:20,960 --> 00:03:23,600
Bösen oder so und ich fand die 
Folge einfach so heftig, voll 

65
00:03:23,680 --> 00:03:26,360
krass. 
Dann würde ich sagen, dann 

66
00:03:26,360 --> 00:03:28,560
nutzen wir das gleich hier und 
starten Aufruf. 

67
00:03:28,560 --> 00:03:32,480
Also falls jemand weiß welche 
Folge das ist, schreibt uns 

68
00:03:32,480 --> 00:03:36,800
damit Fabi seine Lieblingsfolge 
zum zweiten Mal gucken kann. 

69
00:03:37,520 --> 00:03:40,080
Ich wette, ich wette, die Folge 
ist einfach. 

70
00:03:40,080 --> 00:03:42,640
Die Cover findet bei Leasy, aber
ich hab mich einfach nie drum 

71
00:03:42,640 --> 00:03:45,240
gekümmert und ich glaub es ist 
so n kleiner wie 30 folgen oder 

72
00:03:45,240 --> 00:03:46,760
so. 
Also früher dachte ich immer es 

73
00:03:46,760 --> 00:03:50,040
gibt von jeder Serie 1000 folgen
aber es sind halt nur keine 

74
00:03:50,040 --> 00:03:51,600
Ahnung. 
Bestimmt nur 30. 

75
00:03:51,600 --> 00:03:53,440
Ich hab keine Ahnung. 
Ich fand Darkwin Dagmar 

76
00:03:53,440 --> 00:03:57,200
unglaublich schnelllebig, also 
super schnell geschnitten, also 

77
00:03:57,200 --> 00:03:59,600
dass Kinder da wirklich 
wahnsinnig geworden sind bei 

78
00:03:59,760 --> 00:04:02,600
also da geht richtig die Post 
ab, immer ne also um das 

79
00:04:02,600 --> 00:04:06,640
überhaupt verarbeiten zu. 
Können ist schon hart also doch 

80
00:04:06,640 --> 00:04:08,400
guck es dir mal aus heutiger 
Sicht an. 

81
00:04:08,440 --> 00:04:10,800
Ja, ich weiß, dass du mal da 
drauf, wie schnelllebig das ist,

82
00:04:10,800 --> 00:04:12,080
wie schnell geschnitten alles 
ist. 

83
00:04:12,080 --> 00:04:14,680
Es geht auch einfach total 
krass, es geht einem auch voll 

84
00:04:14,680 --> 00:04:17,360
auf den Sack, ich fand einfach 
nur Grad hier, da geht die Post 

85
00:04:17,360 --> 00:04:19,560
ab find ich gut. 
Da merkt man mal, du bist n 

86
00:04:19,560 --> 00:04:21,000
bisschen älter geworden, wenn 
man sagt. 

87
00:04:21,000 --> 00:04:24,600
Es geht die Post ab, da geht die
Post ab. 

88
00:04:25,280 --> 00:04:27,040
Ja, ja gut, aber ich find das 
kann man immer noch sagen, das 

89
00:04:27,040 --> 00:04:32,040
ist völlig in Ordnung so Fabi 
bevor wir jetzt reinstarten ich 

90
00:04:32,040 --> 00:04:34,760
würd mal ganz kurz von Duck wie 
Duck weggehen und noch mal ganz 

91
00:04:34,760 --> 00:04:37,440
kurz n Aufruf starten, Liebe 
zuhören Liebe zuhören falls du 

92
00:04:37,440 --> 00:04:40,160
dich nicht nur für Cartoons von 
früher interessierst, sondern 

93
00:04:40,160 --> 00:04:43,040
auch für unsere Codingthemen und
der Podcast dir gefällt. 

94
00:04:43,360 --> 00:04:46,880
Lass doch gerne mal n Abo da und
auch gerne ne Bewertung. 

95
00:04:46,880 --> 00:04:49,360
Das würde uns mega unterstützen.
Deswegen hier ganz kurz deren 

96
00:04:49,360 --> 00:04:52,480
Aufruf und wir haben das 
Glöckchen ja vor n paar Wochen 

97
00:04:52,480 --> 00:04:55,400
entdeckt. 
Drück da mal drauf, dann wirst 

98
00:04:55,400 --> 00:04:57,680
du auch immer benachrichtigt, 
wenn ne neue Folge kommt. 

99
00:04:57,840 --> 00:05:00,880
Ich mein Donnerstag 18:00 Uhr 
ist klar, aber ne 

100
00:05:00,880 --> 00:05:03,280
Benachrichtigung ist ja trotzdem
nicht schlecht und deswegen 

101
00:05:03,440 --> 00:05:06,240
vielen Dank dafür schon mal. 
Wochen, Monate, pipapo. 

102
00:05:06,240 --> 00:05:09,800
Man weiß es nicht mehr. 
Ja, es ist es ist glaube ich 

103
00:05:09,800 --> 00:05:11,680
schon ne Weile her, dass wir sie
entdeckt haben, aber ich find's 

104
00:05:11,680 --> 00:05:16,000
halt immer noch krass, definitiv
und genau fabi, wir haben ein 

105
00:05:16,000 --> 00:05:18,400
ganz cooles Thema mitgebracht 
heute und zwar machen wir heute 

106
00:05:18,400 --> 00:05:21,120
mit unserer Design Pattern Folge
weiter nicht Reihe. 

107
00:05:21,120 --> 00:05:23,480
Es ist nicht nur ne Folge, es 
ist sogar ne ganze Reihe und 

108
00:05:23,480 --> 00:05:25,200
wir. 
Mach ne neue Folge, so ist es 

109
00:05:25,200 --> 00:05:30,560
korrekt und ich möchte das ganze
Mal einleiten. 

110
00:05:30,720 --> 00:05:36,640
Bitte mit einer ganz klassischen
Frage und zwar warst du schon 

111
00:05:36,640 --> 00:05:41,600
mal im Urlaub im Ausland und 
dachtest dir jetzt mein Handy 

112
00:05:41,600 --> 00:05:45,120
laden, das wär fantastisch jetzt
nur noch ne Steckdose finden, 

113
00:05:45,520 --> 00:05:48,720
das wär klasse und dann geht es 
los und dann findest du sie 

114
00:05:49,040 --> 00:05:52,720
möchtest dein Netzteil 
reinstecken und denkst dir no. 

115
00:05:53,360 --> 00:05:57,000
Das sieht irgendwie anders aus. 
Das funktioniert nicht. 

116
00:05:57,200 --> 00:05:59,360
Was ist da los? 
Wär das jetzt blöd, wenn ich 

117
00:05:59,360 --> 00:06:02,080
sagen würde, nee kenn ich nicht,
fahr ich nie. 

118
00:06:02,400 --> 00:06:04,360
Ja dann werd ich von meinen 
Geschichten erzählen, aber ich 

119
00:06:04,360 --> 00:06:06,120
bin mir eigentlich ziemlich 
sicher, dass du das schon mal 

120
00:06:06,120 --> 00:06:07,920
erlebt hast. 
Ja, auf jeden Fall, ich glaub 

121
00:06:07,920 --> 00:06:10,480
das erste Mal hab ich das sogar 
damals so in der fünften Klasse,

122
00:06:10,480 --> 00:06:13,080
da haben wir so ne so ne Woche 
irgendwie in London gemacht, 

123
00:06:13,080 --> 00:06:15,440
also keine Ahnung also es ist 
schon n bisschen länger her und 

124
00:06:15,440 --> 00:06:19,680
da bin ich dann nach London und 
dacht mir so was zur Hölle ist 

125
00:06:19,680 --> 00:06:22,000
mit diesen Steckern hier los, 
also mit den Steckdosen. 

126
00:06:22,440 --> 00:06:25,520
Das geht ja gar nicht so und ich
glaub keine Ahnung. 

127
00:06:25,840 --> 00:06:28,080
Also meine Mutter hat immer an 
alles gedacht, aber ich glaub 

128
00:06:28,400 --> 00:06:32,800
ich hatte sowas nicht mit. 
Also ich konnte da quasi ich 

129
00:06:32,800 --> 00:06:35,120
musste was von wem anders 
nehmen, sagen wir mal so, weil 

130
00:06:35,280 --> 00:06:39,440
hat nicht reingepasst, ne. 
Und weil du meintest, deine 

131
00:06:39,600 --> 00:06:41,960
Mutti hat an alles gedacht, dann
denk ich mal, wird das nämlich 

132
00:06:41,960 --> 00:06:44,400
genau unser Thema heute sein, an
was sie gedacht hat. 

133
00:06:44,400 --> 00:06:48,720
Und zwar gibt es ja so schöne 
Reiseadapter. 

134
00:06:49,120 --> 00:06:51,440
Für Steckdosen in allen 
Formaten. 

135
00:06:51,440 --> 00:06:54,520
Dann hast du die komischsten 
Formen und denkst dir, wo gibt 

136
00:06:54,520 --> 00:06:56,720
es Steckdosen die sowas 
benötigen. 

137
00:06:56,880 --> 00:07:02,120
Aber ja, es gibt sie und der 
Adapter erfolgt oder bezweckt im

138
00:07:02,120 --> 00:07:05,200
Prinzip, dass du dann ganz 
normal deine Netzteile verwenden

139
00:07:05,200 --> 00:07:08,800
kannst und so tun kannst, als 
wenn es eine Steckdose zu Hause 

140
00:07:08,800 --> 00:07:13,840
wär, weil du einfach es schaffst
diese nicht passenden Stecker, 

141
00:07:13,840 --> 00:07:16,080
also Steckdose und Stecker, die 
Formate. 

142
00:07:16,440 --> 00:07:21,200
Quasi kompatibel zu machen mit 
Hilfe eines Adapters und genau 

143
00:07:21,200 --> 00:07:25,120
das im Prinzip auf die Software 
gemünzt, ist unser heutiges 

144
00:07:25,120 --> 00:07:28,320
Thema, denn wir möchten heute 
mal über das Adapter Pattern 

145
00:07:28,320 --> 00:07:32,640
sprechen und das Ziel soll sein 
zu verstehen, wie es hilft, 

146
00:07:32,720 --> 00:07:36,720
dieses Pattern diesen Adapter zu
verwenden, um Code einerseits 

147
00:07:36,720 --> 00:07:40,320
wiederverwendbar zu machen, wie 
zum Beispiel jetzt die den 

148
00:07:40,320 --> 00:07:42,840
Stecker, den wir gerade 
besprochen haben und wie man 

149
00:07:42,840 --> 00:07:44,880
damit auch Systeme kompatibel 
machen kann. 

150
00:07:45,920 --> 00:07:48,200
Hast du Bock drauf oder oder 
oder muss ich mir jetzt was 

151
00:07:48,200 --> 00:07:49,360
Neues ausdenken? 
Anderes Thema. 

152
00:07:50,680 --> 00:07:53,360
Lass mal über Duck and Duck 
reden machen. 

153
00:07:53,600 --> 00:07:56,800
Wir, deine Lieblingsfolge können
wir vielleicht am Ende, wenn 

154
00:07:56,800 --> 00:07:58,560
noch Zeit ist, machen wir das am
Ende ne, aber wir werden. 

155
00:07:58,560 --> 00:08:01,240
Keine Zeit haben? 
Nein, da war Pass auf, den finde

156
00:08:01,240 --> 00:08:04,240
ich gut. 
Wir hatten ja in unserer Reihe 

157
00:08:04,240 --> 00:08:08,080
schon bisher erzeuger, Muster 
oder ne creational Pattern 

158
00:08:08,080 --> 00:08:10,240
gehabt, die sind jetzt 
eigentlich durch und jetzt 

159
00:08:10,240 --> 00:08:14,000
kommen wir zu sogenannten. 
Fructural Patterns oder 

160
00:08:14,000 --> 00:08:19,520
strukturellen Design Patterns ne
und Adapter Pattern ist halt ein

161
00:08:19,520 --> 00:08:24,120
so ein strukturelles Design 
Pattern ne und im Endeffekt ist 

162
00:08:24,120 --> 00:08:27,640
es ja genau das, was du ja auch 
schon jetzt so angesprochen 

163
00:08:27,640 --> 00:08:30,400
hattest. 
Ne, du willst irgendwie sag ich 

164
00:08:30,400 --> 00:08:33,600
mal 2 Systeme oder 2 Klassen wie
auch immer miteinander 

165
00:08:33,600 --> 00:08:36,360
kombinieren, ne die aber 
eigentlich gar nicht füreinander

166
00:08:36,360 --> 00:08:40,640
gemacht sind und im Endeffekt. 
Kann man sich bei so einem 

167
00:08:40,640 --> 00:08:43,039
Adapter Pattern das dann so 
vorstellen, dass man einfach 

168
00:08:43,039 --> 00:08:46,800
sagt, ja OK, du hast halt 
irgendwie nen Client, der 

169
00:08:46,800 --> 00:08:50,480
irgendwas quasi aufrufen möchte,
zum Beispiel ne Funktion in 

170
00:08:50,480 --> 00:08:55,120
deiner Software? 
Und wenn diese Funktion, die der

171
00:08:55,120 --> 00:08:58,160
Client eigentlich aufrufen 
möchte, aber nicht zu dem passt 

172
00:08:58,160 --> 00:09:01,680
was er erwarten würde, 
sozusagen, dann nimm halt 

173
00:09:01,680 --> 00:09:03,920
einfach ne Schnittstelle 
sozusagen, die das Ganze 

174
00:09:03,920 --> 00:09:07,240
anpasst, so dass eben. 
Ne der Client damit zufrieden 

175
00:09:07,240 --> 00:09:08,840
ist. 
Ich finde es ganz cool, wenn 

176
00:09:08,840 --> 00:09:11,760
manche auch von einer Art 
Übersetzer sprechen, weil das in

177
00:09:11,760 --> 00:09:14,560
vielen Fällen auch hilft, das 
Ganze zu verstehen. 

178
00:09:14,880 --> 00:09:18,120
Ne, also wirklich, ich habe 2 
Sachen, die einfach nicht 

179
00:09:18,120 --> 00:09:21,600
kompatibel miteinander sind, 
also in der Software ganz oft in

180
00:09:21,600 --> 00:09:25,760
Interfaces und ich habe jetzt 
einen Übersetzer und zwar den 

181
00:09:25,760 --> 00:09:30,240
Adapter, der von Interface A zu 
Interface b übersetzt im Prinzip

182
00:09:30,640 --> 00:09:35,600
und. 
N typisches Szenario wo man 

183
00:09:35,600 --> 00:09:38,960
sowas halt verwendet ist ja dann
auch einfach Legacy Code, weil 

184
00:09:38,960 --> 00:09:40,400
ich hatte ja vorhin schon 
gesagt, wie man Code 

185
00:09:40,400 --> 00:09:44,000
wiederverwendbar macht im Sinne 
von alten Code halt immer noch 

186
00:09:44,000 --> 00:09:48,200
verwenden kann oder wieder 
integrieren kann und oder auch 

187
00:09:48,200 --> 00:09:50,680
so Third partysachen ja, also 
die jetzt gar nicht so wirklich 

188
00:09:50,680 --> 00:09:53,200
zu deinem System gehören, also 
um mal so n bisschen 

189
00:09:53,200 --> 00:09:57,320
vorwegzugreifen warum das ganze?
Also es ist nicht selten, dass 

190
00:09:57,320 --> 00:10:00,760
man diesen Einsatz hat, 
sozusagen ne also 

191
00:10:00,760 --> 00:10:04,960
beispielsweise. 
Ich hab n System und das 

192
00:10:04,960 --> 00:10:07,000
erneuere ich. 
Aber ich muss halt noch gewisse 

193
00:10:07,000 --> 00:10:10,560
Altsysteme anbinden. 
Ja dann möchte ich natürlich 

194
00:10:10,560 --> 00:10:13,120
jetzt nicht irgendwie sagen, 
nee, dann bleibe ich halt auf 

195
00:10:13,120 --> 00:10:15,240
den alten Schnittstellen. 
Ja weil das ist das Altsystem 

196
00:10:15,240 --> 00:10:17,520
und das brauchen wir noch, 
währenddessen meine 

197
00:10:17,520 --> 00:10:19,760
Neuentwicklung eigentlich ne 
ganz andere Richtung geht, dann 

198
00:10:19,760 --> 00:10:24,000
gehe ich ja eher den Weg zu 
sagen ich gehe den neuen Weg, 

199
00:10:24,160 --> 00:10:26,800
aber ich muss irgendwie 
gewährleisten, dass dieser neue 

200
00:10:26,800 --> 00:10:29,840
Weg noch mit dem alten System 
kommunizieren kann und das wäre 

201
00:10:29,840 --> 00:10:31,680
so n klassischer Anwendungsfall 
zu sagen. 

202
00:10:32,040 --> 00:10:34,960
Dann habe ich so n Adapter 
dazwischen, der solange ich die 

203
00:10:34,960 --> 00:10:37,640
Altsysteme brauche, halt noch 
dafür sorgt, dass die 

204
00:10:37,640 --> 00:10:41,600
Kommunikation noch korrekt ist. 
Ja, ja, ich bin irgendwie, weil 

205
00:10:41,600 --> 00:10:43,440
du es gerade sagst. 
Na Altsysteme kann man sich 

206
00:10:43,440 --> 00:10:45,920
natürlich hinstellen und sagen, 
ja, ja, altsysteme mach die doch

207
00:10:45,920 --> 00:10:50,520
halt neu, ich glaube ich bin 
auch ne Zeit lang so, auch nach 

208
00:10:50,520 --> 00:10:53,200
dem Studium oder frisch aus dem 
Studium raus war ich so n 

209
00:10:53,200 --> 00:10:55,640
bisschen blauäugig und dachte 
mir so na ja guck mal, du hast 

210
00:10:55,640 --> 00:10:58,240
jetzt hier du du kannst 
irgendwie das ne und dies und 

211
00:10:58,240 --> 00:11:00,880
jenes, so kennt man ja dann, 
dann nimmt man das ja auch ne. 

212
00:11:01,400 --> 00:11:07,120
Und gerade bei so altsystem ne, 
da hab ich mich dann früher auch

213
00:11:07,120 --> 00:11:08,720
immer hingestellt, so n 
bisschen. 

214
00:11:08,720 --> 00:11:10,920
Also ich übertreib jetzt ne, 
weil so dass man so sagt, so ja 

215
00:11:10,920 --> 00:11:14,080
dann mach die halt neu, das ist 
doch alles, das ist doch alles 

216
00:11:14,080 --> 00:11:17,040
alt, das ist doch doch Quatsch, 
das ist doch voll überholt so ne

217
00:11:17,560 --> 00:11:20,240
man muss sich aber dann noch 
wieder im Klaren darüber sein, 

218
00:11:20,320 --> 00:11:24,080
dass Altsysteme in der 
Arbeitswelt halt leider Gottes 

219
00:11:24,080 --> 00:11:27,640
eben einfach da sind, die kannst
du nicht einfach wegzaubern oder

220
00:11:27,640 --> 00:11:30,960
wegschnipsen, das funktioniert 
nicht, sondern die sind da und. 

221
00:11:31,280 --> 00:11:34,640
Sie neu zu machen, ist manchmal 
auch nicht wirklich praktikabel.

222
00:11:34,640 --> 00:11:36,400
Also es ist ist einfach 
manchmal. 

223
00:11:36,560 --> 00:11:40,560
Es wär viel zu viel Aufwand und 
klar, in einer schönen Welt kann

224
00:11:40,560 --> 00:11:42,800
man das auf jeden Fall machen, 
aber es geht halt nicht immer 

225
00:11:43,200 --> 00:11:46,320
und deswegen ist es halt n 
absolut valides Beispiel zu 

226
00:11:46,320 --> 00:11:50,000
sagen, ey Du musst Legacy Code 
oder Legacy Systeme anbinden und

227
00:11:50,000 --> 00:11:52,800
das ist halt kacke und ich wollt
es früher auch. 

228
00:11:52,840 --> 00:11:54,800
Erst mal ne. 
Zeit lang nicht wahrhaben, aber 

229
00:11:55,760 --> 00:11:57,360
aber du hast es halt ne und das 
ist. 

230
00:11:58,240 --> 00:12:00,480
Das ist halt blöd, oder? 
Zum Beispiel Diese Third Party 

231
00:12:00,480 --> 00:12:02,560
Libraries. 
Ich kann mich noch erinnern, ich

232
00:12:02,560 --> 00:12:05,280
hab das irgendwann im Studium ne
wenn du irgendeine Lib benutzt 

233
00:12:05,280 --> 00:12:08,480
wo du irgendein Output bekommst 
von irgendeiner ne von der lib 

234
00:12:08,640 --> 00:12:12,040
wo du irgendwas aufrufst und 
dann hast du deine Datenstruktur

235
00:12:12,040 --> 00:12:15,960
aber irgendwie anders gebaut ne 
da ich mein das ist so n so n 

236
00:12:15,960 --> 00:12:19,520
richtiger ich sag mal so n so n 
so n. 

237
00:12:19,560 --> 00:12:22,480
Waffenstyle Adapter, dass du 
halt immer ernährst. 

238
00:12:22,480 --> 00:12:25,360
Converter Weißt du den ich da 
gebaut hab, aber so mehr oder 

239
00:12:25,360 --> 00:12:28,240
weniger, da muss ich mal dran 
denken, dass so das ist so die 

240
00:12:28,240 --> 00:12:31,440
Vorstufe von einem Adapter, dass
du sagst, OK ich konvertiere 

241
00:12:31,440 --> 00:12:34,160
meine Daten von A nach b, damit 
es zusammenpasst. 

242
00:12:35,320 --> 00:12:40,080
Ja, Waffensty ist natürlich 
unbegriff, also so auf gut Glück

243
00:12:40,080 --> 00:12:42,000
das Ganze gemacht, oder? 
Ja genau. 

244
00:12:44,760 --> 00:12:48,840
Ja, ich mein, wenn man jetzt mal
wirklich so softwarebeispiele 

245
00:12:48,840 --> 00:12:51,520
nimmt, weil du meintest, so 
Altsysteme existieren da, es 

246
00:12:51,520 --> 00:12:54,720
gibt keinen Weg drumrum. 
Es ist ja auch oft so, dass es 

247
00:12:54,720 --> 00:12:57,160
ja nicht bewusst entschieden 
ist. 

248
00:12:57,160 --> 00:12:59,280
Ja, wir behalten unser 
Altsystem, weil es n altsystem 

249
00:12:59,280 --> 00:13:02,640
und es muss Altsysteme geben, 
oder wir können es nicht neu 

250
00:13:02,640 --> 00:13:04,000
machen, weil wir keine Zeit 
haben. 

251
00:13:04,000 --> 00:13:06,920
Ja, das sind so Aspekte, aber es
gibt ja auch oft den Fall, dass 

252
00:13:06,920 --> 00:13:11,120
du sagst, das Altsystem hat ne 
gewisse Lebensdauer. 

253
00:13:11,360 --> 00:13:14,560
Ja, also beispielsweise alles, 
was so Richtung. 

254
00:13:14,560 --> 00:13:19,520
Wir müssen das noch supporten an
Altfunktionalitäten altsystemen,

255
00:13:19,520 --> 00:13:23,600
wenn es darum geht ne, dann ist 
das ja ne gewisse Lebensdauer 

256
00:13:23,600 --> 00:13:26,080
und dann schreibst du das 
logischerweise nicht komplett 

257
00:13:26,080 --> 00:13:29,160
neu, weil es soll ja wegfallen, 
aber du musst es halt noch 

258
00:13:29,160 --> 00:13:32,400
meinetwegen ein 2 Jahre 
supporten und willst aber deine 

259
00:13:32,400 --> 00:13:36,160
Neuentwicklung natürlich jetzt 
nicht anlehnen an die 

260
00:13:36,160 --> 00:13:39,120
Altsysteme, wenn du weißt, nee 
wir müssen das umbauen, es geht 

261
00:13:39,120 --> 00:13:41,640
besser. 
Und dann hast du genau diesen 

262
00:13:41,640 --> 00:13:44,640
Fall, dass du dir denkst, ja, 
aber wir können sie nicht 

263
00:13:44,640 --> 00:13:46,680
abschalten. 
Es muss halt noch gewährleistet 

264
00:13:46,680 --> 00:13:49,600
sein, dass die funktionieren, 
funktionieren und dann ist so n 

265
00:13:49,600 --> 00:13:53,200
patter halt denn einfach ne gute
Lösung um mal n genaues Beispiel

266
00:13:53,200 --> 00:13:56,000
zu bringen. 
Ja, wir hatten ja schon ganz oft

267
00:13:56,000 --> 00:14:00,160
alles so Payment in in Richtung 
Payment Services mal gebracht, 

268
00:14:00,160 --> 00:14:03,440
gerade in dieser Design Pattern 
Reihe, weil man ja viele Pattern

269
00:14:03,440 --> 00:14:06,520
daran auch gut erklären kann und
jetzt? 

270
00:14:08,160 --> 00:14:13,040
Hat man halt verschiedene 
Anbieter und so moderne Anbieter

271
00:14:13,040 --> 00:14:17,200
haben halt ne Schnittstelle, die
vielleicht sehr generell ist. 

272
00:14:17,200 --> 00:14:21,640
Ja also wenn ich jetzt an sowas 
wie paypal, Stripe, Klarna, was 

273
00:14:21,640 --> 00:14:23,280
es da halt alles gibt, ne also 
so. 

274
00:14:23,680 --> 00:14:25,440
Sag ich mal. 
Ich bezeichne sie mal als 

275
00:14:25,440 --> 00:14:29,520
Moderne Payment Services, ne und
dann sind die Schnittstellen 

276
00:14:29,680 --> 00:14:33,040
wahrscheinlich sehr ähnlich 
aufgebaut beispielsweise und 

277
00:14:33,040 --> 00:14:36,040
jetzt habe ich aber irgendwie 
alte Schnittstellen drin, die 

278
00:14:36,040 --> 00:14:40,880
ganz andere Daten benötigen, 
mehr wissen, nicht ne 

279
00:14:40,880 --> 00:14:45,040
Überweisung von früher weißt du 
oder oder Lastschrift oder oder 

280
00:14:45,040 --> 00:14:48,640
oder weiß ich was ja also so 
einfach mal um so 2 Welten 

281
00:14:48,640 --> 00:14:52,240
aufzuzeigen jetzt. 
Will ich das beides aber noch 

282
00:14:52,240 --> 00:14:55,600
unterstützen, aber mein System 
geht hin Richtung sage ich mal 

283
00:14:55,600 --> 00:15:01,280
diese digitalen Services ja und 
ich möchte die alten aber nicht 

284
00:15:01,280 --> 00:15:04,600
verlieren und ich darf sie noch 
nicht rausnehmen und dann habe 

285
00:15:04,600 --> 00:15:07,880
ich genau das Thema, dass ich ja
in meiner Software aber an einem

286
00:15:07,880 --> 00:15:11,280
gewissen Punkt sagen möchte und 
jetzt bitte bezahlen. 

287
00:15:11,600 --> 00:15:16,640
Macht die Überweisung, macht das
Payment sozusagen ja und möchte 

288
00:15:16,640 --> 00:15:20,600
ja im Idealfall die gleiche 
Schnittstelle ansprechen für 

289
00:15:20,600 --> 00:15:24,360
alle Payment Services, also für 
alle Dienstleister die ich da 

290
00:15:24,360 --> 00:15:27,600
drin habe. 
So wenn jetzt aber diese Daten 

291
00:15:27,600 --> 00:15:31,200
die ich benötige komplett anders
aussehen könnten von der 

292
00:15:31,200 --> 00:15:34,240
Schnittstelle her ja, also ich 
habe jetzt eine Schnittstelle 

293
00:15:34,240 --> 00:15:37,480
für eine Sofortüberweisung oder 
wie es hieß und eine 

294
00:15:37,480 --> 00:15:40,480
Schnittstelle für Paypal 
meinetwegen und die sind. 

295
00:15:41,240 --> 00:15:43,360
Unterschiedlich. 
Ich kann halt nicht sagen Pay 

296
00:15:43,360 --> 00:15:46,880
und dann kann ich die Daten da 
einfach reingeben, die passen 

297
00:15:46,880 --> 00:15:50,400
halt nicht zusammen, das Matcht 
nicht, ja dann ist halt so n 

298
00:15:50,400 --> 00:15:52,880
Adapter da nicht schlecht zu 
sagen na gut, dann hab ich jetzt

299
00:15:52,880 --> 00:15:56,800
pro Payment Service ein Adapter 
der dafür sorgt, dass die Daten 

300
00:15:56,800 --> 00:16:00,480
die aus meinem Client, also aus 
meiner Software selbst kommen, 

301
00:16:00,720 --> 00:16:04,280
so aufbereitet werden, dass es 
quasi dem Interface schmeckt und

302
00:16:04,280 --> 00:16:05,920
die Bezahlung durchgeführt 
werden kann. 

303
00:16:06,600 --> 00:16:08,480
Also der Unterschied könnte 
jetzt mir folgen. 

304
00:16:08,480 --> 00:16:10,640
Der Unterschied könnte jetzt zum
Beispiel bei den Daten, von 

305
00:16:10,640 --> 00:16:14,040
denen du redest, sein, dass zum 
Beispiel bei paypal brauchst du 

306
00:16:14,040 --> 00:16:20,480
beispielsweise ne e Mail Adresse
sozusagen als Konto ID ne und 

307
00:16:20,800 --> 00:16:22,960
bei deinem bei deiner 
Sofortüberweisung halt ne. 

308
00:16:23,600 --> 00:16:27,480
Iban als IBAN Konto. 
Genau so und und in der Software

309
00:16:27,480 --> 00:16:31,360
hast du jetzt zum Beispiel ne 
Art nen Kunden ne nen Customer 

310
00:16:31,360 --> 00:16:33,920
wo die Daten drin sind und rufst
Pay auf. 

311
00:16:33,920 --> 00:16:37,040
So aber Pay sagt jetzt keine 
Ahnung die und die Daten brauche

312
00:16:37,040 --> 00:16:39,280
ich und du musst jetzt aber 
gucken, dass du aber alle 

313
00:16:39,360 --> 00:16:42,720
zufriedenstellen kannst und dann
kannst du dafür halt nen Adapter

314
00:16:42,720 --> 00:16:45,560
nehmen um die richtigen Daten 
rauszuziehen und die 

315
00:16:45,560 --> 00:16:49,120
entsprechende Pay aufzurufen 
oder n ganz ganz einfaches 

316
00:16:49,120 --> 00:16:53,040
Beispiel und das kommt auch vor,
dass die Schnittstelle. 

317
00:16:53,520 --> 00:16:56,480
Also zum Beispiel bei so einer 
Third Party Library einfach die 

318
00:16:56,480 --> 00:16:58,000
Funktion einfach unterschiedlich
heißt. 

319
00:16:58,560 --> 00:17:00,600
Ja. 
Ja, beispielsweise die eine 

320
00:17:00,600 --> 00:17:04,720
heißt Pay und bei der anderen 
heißt es Make Payment oder jetzt

321
00:17:04,720 --> 00:17:07,680
mal so aus den Fingern gesaugt, 
aber dann hast du ja schon das 

322
00:17:07,680 --> 00:17:10,240
Problem, welche Funktion ruf ich
jetzt auf, ich will doch eine 

323
00:17:10,240 --> 00:17:13,119
gemeinsame Schnittstelle 
aufrufen und dann könnte selbst 

324
00:17:13,119 --> 00:17:17,680
der Adapter sowas einfaches sein
wie ich implementiere n 

325
00:17:17,680 --> 00:17:20,800
Interface was Pay hat. 
Und bei dem einen Adapter ruf 

326
00:17:20,800 --> 00:17:23,280
ich make payment auf und bei dem
anderen Pay irgendwas. 

327
00:17:23,599 --> 00:17:26,720
Ja genau das genau. 
Also man, es ist ja im Endeffekt

328
00:17:26,720 --> 00:17:31,360
noch mal sowas wie ne Art Hülle 
drumherum, damit du sozusagen an

329
00:17:31,360 --> 00:17:34,800
dieser Hülle sozusagen ansetzen 
kannst und sagen kannst, OK, ich

330
00:17:34,800 --> 00:17:37,920
möchte sozusagen außerhalb 
dieser Hülle etwas aufrufen, 

331
00:17:37,920 --> 00:17:40,440
sozusagen ne, also was, was der 
Client, den hatten wir vorhin 

332
00:17:40,440 --> 00:17:43,440
angesprochen, dass er sieht ne 
und was dahinter passiert ist 

333
00:17:43,440 --> 00:17:46,000
uns eigentlich egal. 
Die kleine, der kleine 

334
00:17:46,000 --> 00:17:48,080
Unterschied, weil ich find da 
kann man relativ schnell an so n

335
00:17:48,080 --> 00:17:50,720
Interface denken, dass du sagst,
ja gut, dann sag halt das 

336
00:17:50,720 --> 00:17:53,120
implementierten Interface und 
das implementierten Interface. 

337
00:17:53,680 --> 00:17:56,400
Der springende Punkt dabei ist 
die eine Seite, also du 

338
00:17:56,400 --> 00:17:58,480
implementierst ja nicht alles, 
du kannst ja nicht sagen, OK, 

339
00:17:58,480 --> 00:18:01,200
meine neue Klasse 
implementierten Interface mit 

340
00:18:01,360 --> 00:18:06,160
Pay und ne sagen wir mal IBAN 
Sofortüberweisung. 

341
00:18:06,440 --> 00:18:10,160
Macht dann halt eben dieses Pay 
und paypal macht halt das andere

342
00:18:10,160 --> 00:18:13,360
Pay, sondern ne wenn du beides 
implementierst kannst du das so 

343
00:18:13,360 --> 00:18:14,920
machen. 
Ne dann hast du weiß nicht 

344
00:18:14,920 --> 00:18:16,800
kannst auch ne Factory 
draufsetzen oder so weil wir bei

345
00:18:16,800 --> 00:18:21,760
ne bei Design Pattern sind aber 
das eine existiert ja schon, das

346
00:18:21,760 --> 00:18:24,720
heißt du kannst ja das du kannst
es nicht anfassen, du kannst es 

347
00:18:24,720 --> 00:18:27,560
nur verwenden und um es zu 
verwenden musst du was drumherum

348
00:18:27,560 --> 00:18:30,720
bauen damit es quasi genauso ne 
gleiche Funktion heißt das 

349
00:18:30,720 --> 00:18:33,200
gleiche zurückkommt oder das 
sozusagen die Schnittstelle 

350
00:18:33,200 --> 00:18:36,320
bedient die du brauchst so. 
Gutes Beispiel. 

351
00:18:36,360 --> 00:18:38,320
Sehr gute Anmerkung. 
Was ich noch, was mir noch 

352
00:18:38,320 --> 00:18:40,960
einfällt, weil ich find das ist 
so n geiles Beispiel auch wo wir

353
00:18:40,960 --> 00:18:44,640
von Legacy Systemen geredet 
haben so Real Life Beispiel 

354
00:18:45,040 --> 00:18:48,320
Stell dir vor du sitzt im Auto 
hast vielleicht n älteres Auto 

355
00:18:48,480 --> 00:18:52,200
und n aux Adapter drin jetzt 
nimmst du die neuen Handys hast 

356
00:18:52,200 --> 00:18:55,600
n neues Handy, willst irgendwie 
Musik hören so da gibt es keine 

357
00:18:55,600 --> 00:18:57,840
Klinke mehr du kannst keine 
Klinke mehr an deinen an die 

358
00:18:57,840 --> 00:19:01,120
meisten Handys heute dran 
schließen ne so kannst Bluetooth

359
00:19:01,120 --> 00:19:02,560
aber dein Auto kann kein 
Bluetooth. 

360
00:19:03,760 --> 00:19:05,960
Und dein Handy kann Bluetooth, 
aber dein Handy kann keine 

361
00:19:05,960 --> 00:19:07,280
Klinke. 
Dein Auto kann klinke so ne 

362
00:19:07,600 --> 00:19:09,360
blöd. 
Jetzt hast du genau diese 2 

363
00:19:09,360 --> 00:19:13,120
Systeme, die nicht kompatibel 
miteinander sind, obwohl ja dein

364
00:19:13,120 --> 00:19:15,840
Auto sagen kann, ey, ich kann 
Musik abspielen und dein Handy 

365
00:19:15,840 --> 00:19:19,160
sagt Hey und ich kann Musik 
geben, aber die Schnittstelle 

366
00:19:19,160 --> 00:19:21,200
passt halt nicht. 
Ja und nun? 

367
00:19:21,360 --> 00:19:24,800
Ja, genau, und dann wird ne, da 
gibt es halt diesen Adapter der 

368
00:19:24,800 --> 00:19:27,680
dann sagt, OK, ich kann 
sozusagen ne den Bluetooth 

369
00:19:27,680 --> 00:19:30,400
Adapter, also dieses Bluetooth 
Ding auf den auf die Klinke 

370
00:19:30,400 --> 00:19:32,640
stecken und dann mich sozusagen 
mit dem Handy auf dieses 

371
00:19:32,640 --> 00:19:35,680
Bluetooth Ding verbinden. 
Finden Musik, Hinsenden und das 

372
00:19:35,680 --> 00:19:37,600
geht dann auf die Klinke. 
So ne Sachen gibt es ja ne, 

373
00:19:37,880 --> 00:19:39,920
jetzt kann man sich natürlich 
hinstellen und sagt Bau dein 

374
00:19:39,920 --> 00:19:42,000
Radio aus, gut geht bei manchen 
Autos nicht oder du hast 

375
00:19:42,000 --> 00:19:44,080
vielleicht das Geld dafür nicht 
je nachdem oder du willst. 

376
00:19:44,080 --> 00:19:45,520
Es einfach nicht machen, weil du
faul bist. 

377
00:19:46,400 --> 00:19:48,600
Aber aber das ist ja n super 
Beispiel. 

378
00:19:49,200 --> 00:19:51,600
Genau weil jetzt hast du 
altsystem altes Radio. 

379
00:19:51,600 --> 00:19:54,560
Klar kann ich jetzt das System 
ändern ja und neues Radio da 

380
00:19:54,560 --> 00:19:56,840
einbauen aber es ist vielleicht 
auch nicht immer gewollt oder 

381
00:19:56,840 --> 00:19:59,360
nicht immer möglich ja also 
genau gehen wir jetzt und dafür 

382
00:19:59,360 --> 00:20:01,840
ist ja das Pattern da davon aus 
dieses Altsystem. 

383
00:20:02,160 --> 00:20:04,320
Deswegen war der Einwand von dir
auch noch mal richtig gut zu 

384
00:20:04,320 --> 00:20:08,320
sagen, du musst jetzt mal davon 
ausgehen, dass du nichts an dem 

385
00:20:08,320 --> 00:20:10,080
Altsystem machen kannst oder 
darfst. 

386
00:20:10,080 --> 00:20:14,320
Genau ne, du versuchst nur ne 
Kompatibilität herzustellen und 

387
00:20:14,320 --> 00:20:17,280
was an dem Beispiel auch noch 
richtig klasse ist, weil das 

388
00:20:17,280 --> 00:20:20,400
kann man sich auch recht schnell
jetzt vorstellen, dass n Adapter

389
00:20:20,400 --> 00:20:23,320
ja auf unterschiedliche Art und 
Weise implementiert werden kann 

390
00:20:23,320 --> 00:20:27,400
und trotzdem das gleiche Ziel 
hat am Ende ja beispielsweise 

391
00:20:27,400 --> 00:20:30,400
jetzt so n Bluetooth Adapter, 
der sagt ich empfange. 

392
00:20:30,840 --> 00:20:34,960
Über Bluetooth die Musik vom 
Handy und gibt das über einen 

393
00:20:34,960 --> 00:20:39,200
Klinkenausgang wieder in den 
Klinkeneingang vom Radio. 

394
00:20:39,400 --> 00:20:43,280
Mhm. 
Adapter 1 Adapter 2 an einer 

395
00:20:43,280 --> 00:20:47,200
anderen Stelle ist zu sagen, Na 
ja, das Problem liegt ja daran, 

396
00:20:47,200 --> 00:20:49,320
dass n Handy keinen 
Klinkenausgang mehr hat, sondern

397
00:20:49,320 --> 00:20:50,800
nur noch USBC in den bei den 
modernen. 

398
00:20:50,800 --> 00:20:53,680
Also gibt es ja auch Adapter, 
die sagen ich mach USBC und gibt

399
00:20:53,680 --> 00:20:58,320
dir nen Klinkenanschluss. 
Gibt es auch also auch. 

400
00:20:58,360 --> 00:21:01,800
Es gibt ja einfach verschiedene,
genau, also um einfach mal 

401
00:21:01,800 --> 00:21:04,400
aufzuzeigen, es gibt 
unterschiedliche Adapter 

402
00:21:04,400 --> 00:21:07,400
sozusagen, die das Gleiche lösen
und das Münzt sich ja genauso 

403
00:21:07,400 --> 00:21:09,440
auf die Softwareentwicklung. 
Es gibt ja auch verschiedene. 

404
00:21:09,720 --> 00:21:12,280
Möglichkeiten, da können wir ja 
nachher drauf eingehen, wie man 

405
00:21:12,280 --> 00:21:16,120
sowas softwaretechnisch umsetzen
kann und in den ich find es halt

406
00:21:16,120 --> 00:21:18,960
immer gut, dass du an diesen 
realen Beispielen genau diese 

407
00:21:18,960 --> 00:21:20,920
Abbilder siehst. 
Ja, es gibt mehrere 

408
00:21:20,920 --> 00:21:23,920
Möglichkeiten, warum mach ich 
das und so weiter deswegen das 

409
00:21:23,920 --> 00:21:27,840
ist n super Beispiel und ich 
glaube um das Ganze noch mehr zu

410
00:21:27,840 --> 00:21:32,080
verdeutlichen, wir haben. 
Bestimmt den ein oder anderen 

411
00:21:32,080 --> 00:21:35,120
Gamer unter den Zuhörerinnen und
Zuhörerinnen und das ist ein 

412
00:21:35,120 --> 00:21:36,960
Thema, das kennt glaube ich 
jeder. 

413
00:21:37,200 --> 00:21:40,080
Jetzt hast du unterschiedliche 
Controller in deiner Gaming 

414
00:21:40,080 --> 00:21:43,760
Karriere ja schon gehabt, also 
zumindestens mir geht es so, ich

415
00:21:43,760 --> 00:21:47,240
war früher immer Team Nintendo, 
da mach ich mal Team playstation

416
00:21:47,240 --> 00:21:51,920
jetzt bin ich wieder Team 
Nintendo nee nee Xbox Xbox Arena

417
00:21:51,920 --> 00:21:54,640
nicht zu hören das ist so dein 
Ding. 

418
00:21:57,320 --> 00:22:00,480
Auf jeden Fall. 
Also wir klammern Xbox Kurz aus.

419
00:22:02,480 --> 00:22:05,920
Du hast jetzt unterschiedliche 
Controller ne und n Spiel 

420
00:22:06,000 --> 00:22:09,760
entwickelt ja aber zu sagen OK 
ich hab ne Schnittstelle ne also

421
00:22:09,840 --> 00:22:13,280
um mich spielen zu können um zum
Beispiel n Charakter bewegen zu 

422
00:22:13,280 --> 00:22:18,400
können brauch ich den und den 
die und die Taste und auf Taste 

423
00:22:19,120 --> 00:22:24,680
was ist es dann bei Y glaub ich 
beim Xbox Controller ich bind 

424
00:22:24,680 --> 00:22:26,640
dich wieder ein ich schließ dich
jetzt nicht aus ne. 

425
00:22:27,920 --> 00:22:30,720
Passiert halt irgendwie Aktion A
im Spiel. 

426
00:22:30,720 --> 00:22:32,040
Ja. 
So, jetzt hab ich aber n 

427
00:22:32,040 --> 00:22:34,760
playstation Controller und wenn 
ich es jetzt nicht vergeige ich 

428
00:22:34,760 --> 00:22:37,360
hoffe es ist richtig wär das ja 
bei mir die Dreiecks Taste. 

429
00:22:37,600 --> 00:22:39,440
Kann ich nicht verifizieren, ist
die Oma. 

430
00:22:40,480 --> 00:22:47,920
Ja genau, ist gut und dem Spiel 
ist ja am Ende egal welcher 

431
00:22:47,920 --> 00:22:50,960
Controller angeschlossen ist. 
Du brauchst aber halt dieses 

432
00:22:50,960 --> 00:22:56,480
diesen Adapter, der sagt EY auf 
die Taste Jump zum Beispiel. 

433
00:22:57,520 --> 00:23:01,120
Drückst du Dreieck? 
Nee, ich Dreieck und du was Y 

434
00:23:01,760 --> 00:23:04,000
und jetzt können wir die ganze 
Sache ist ja unterschiedlich, 

435
00:23:04,000 --> 00:23:07,440
wir können die ganze Sache ja 
noch weiter treiben und sagen 

436
00:23:07,440 --> 00:23:10,480
ich weiß nicht, sowas gibt es 
doch, dass irgendwie leute, ich 

437
00:23:11,520 --> 00:23:13,920
sag jetzt irgendwas ne so n 
Spiel mit. 

438
00:23:14,240 --> 00:23:15,760
Weiß ich nicht. 
Mit mit einer Waschmaschine 

439
00:23:15,760 --> 00:23:17,600
spielen oder so. 
Weißt du, dass die sozusagen 

440
00:23:17,600 --> 00:23:20,240
Adapter haben, dass die 
sozusagen mit ne, also ich glaub

441
00:23:20,240 --> 00:23:22,520
nee keine Ahnung hier so Lenkrad
weißt du so Ego Shooter mit dem 

442
00:23:22,520 --> 00:23:25,040
Lenkrad spielen sowas ne passt 
eigentlich nicht zusammen, aber 

443
00:23:25,040 --> 00:23:27,160
du hast n Adapter der im 
Endeffekt dafür sorgt, dass du 

444
00:23:27,160 --> 00:23:30,640
es trotzdem spielen kannst. 
Bisschen schwierig, aber ne. 

445
00:23:31,760 --> 00:23:33,800
Genau, weil du hast halt wie 
gesagt diese Schnittstelle, die 

446
00:23:33,800 --> 00:23:35,840
implementiert werden muss, damit
das Spiel weiß. 

447
00:23:35,840 --> 00:23:38,720
Ich hab jetzt das Signal 
springen erhalten, genau so. 

448
00:23:39,120 --> 00:23:42,480
Und was du dran mit einem 
Adapter anschließt ist ja denn 

449
00:23:42,480 --> 00:23:46,160
dir überlassen sozusagen. 
Und wenn du da keine Ahnung auf 

450
00:23:46,160 --> 00:23:48,880
der Waschmaschine Start drückst 
umzuspringen, dann ist das so, 

451
00:23:51,760 --> 00:23:53,720
aber ich find daran kann man 
sich das ja auch gut vorstellen,

452
00:23:53,720 --> 00:23:55,720
weil jeder kennt ja diese 
unterschiedlichen Controller, 

453
00:23:55,720 --> 00:23:58,640
aber du kannst halt mit einem 
Adapter dann in der Lage sein 

454
00:23:58,640 --> 00:24:01,280
trotzdem das gleiche Spiel zu 
spielen am Ende richtig. 

455
00:24:01,800 --> 00:24:04,320
Und das ist halt ne coole Sache.
Klar, wenn jetzt n Knopf zu 

456
00:24:04,320 --> 00:24:08,000
wenig da ist, ist was anderes, 
dann gibt dein Controller der 

457
00:24:08,000 --> 00:24:11,760
das nicht her, sozusagen ne, 
aber solange du in der Lage bist

458
00:24:11,760 --> 00:24:14,000
diese Daten verknüpfen zu 
können, kannst du das Halt 

459
00:24:14,000 --> 00:24:16,880
verwenden. 
Ja gut, wenn du n Steck, also n 

460
00:24:16,880 --> 00:24:19,920
Stecker für die Steckdose nicht 
da reinsteckst, sondern in Sand,

461
00:24:19,920 --> 00:24:21,400
dann bringt es halt leider auch 
nichts, ne. 

462
00:24:22,160 --> 00:24:24,520
Ganz genau. 
Das ist aber toll, das ist eben 

463
00:24:26,880 --> 00:24:28,520
so. 
Und bei diesem ganzen Beispiel 

464
00:24:28,520 --> 00:24:30,600
lass uns mal drüber quatschen, 
wie das denn jetzt eigentlich 

465
00:24:30,600 --> 00:24:33,440
funktioniert. 
Also was denn so der Ablauf 

466
00:24:33,440 --> 00:24:35,120
dahinter ist. 
Um das noch mal ein bisschen zu 

467
00:24:35,120 --> 00:24:38,440
verdeutlichen und dann können 
wir mal so bisschen mehr in die 

468
00:24:38,440 --> 00:24:41,080
technische Software Richtung, 
weil ich denke, Analogien haben 

469
00:24:41,080 --> 00:24:43,520
wir genug gebracht. 
Also ich würde mir jetzt denken,

470
00:24:43,520 --> 00:24:45,280
ja okay mit dem Controller, da 
habt ihr mich. 

471
00:24:45,280 --> 00:24:49,960
Geheilt dem Xbox Controller ne. 
Ja. 

472
00:24:52,080 --> 00:24:55,520
Mach mal weiter. 
Ah schön. 

473
00:24:56,480 --> 00:24:58,640
Dann hau mal raus. 
Also wie, wie, wie kann man sich

474
00:24:58,640 --> 00:25:01,080
das jetzt vorstellen? 
Ich hatte ja schon gesagt, also 

475
00:25:01,080 --> 00:25:03,840
es gibt ja zum Beispiel, wenn du
es jetzt von den Begriffen her 

476
00:25:03,840 --> 00:25:07,200
nimmst, ne, es gibt n Client, 
das ist irgendwie sagen wir mal 

477
00:25:07,680 --> 00:25:10,720
der oder der Part in der 
Software, der tatsächlich diese 

478
00:25:10,720 --> 00:25:13,280
Funktion aufruft, zum Beispiel, 
was hatten wir vorhin zum 

479
00:25:13,280 --> 00:25:16,720
Beispiel Pay ne von dem Payment 
Service, also du hast irgendwie 

480
00:25:16,880 --> 00:25:21,640
sagen wir mal den Payer ne der 
Bezahler, die Bezahlerklasse die

481
00:25:21,640 --> 00:25:23,920
halt irgendwie dann Pay aufruft 
oder so ne oder der. 

482
00:25:24,640 --> 00:25:28,480
Nennen wir es mal Payment 
Payment Service. 

483
00:25:28,600 --> 00:25:31,360
Sowas ja. 
Pay Manager Manager ist gut. 

484
00:25:31,360 --> 00:25:33,480
Das müsste ich jetzt machen, um 
irgendwie vielleicht n bisschen 

485
00:25:33,480 --> 00:25:36,720
zu triggern. 
Aber ne, also Payment Service 

486
00:25:36,720 --> 00:25:39,600
ruft Pay auf und dahin, das ist 
der Client, der macht halt 

487
00:25:39,600 --> 00:25:42,640
irgendwas, der Akteur sozusagen 
ne und dann gibt es halt eben 

488
00:25:42,640 --> 00:25:47,480
einmal. 
Das Target Interface ne, das ist

489
00:25:47,480 --> 00:25:50,560
quasi genau das, was der Client 
oder unser Service dann im 

490
00:25:50,560 --> 00:25:52,480
Endeffekt erwartet, wenn er Pay 
aufruft. 

491
00:25:52,480 --> 00:25:55,320
Ne, dass vielleicht irgendwie 
Daten zurückkommen oder ne was 

492
00:25:55,320 --> 00:25:58,720
auch immer, sagen wir mal oder 
du willst die Pay, also die 

493
00:25:58,720 --> 00:26:01,080
Zahlinformationen haben die du 
brauchst, von dem wir vorhin 

494
00:26:01,080 --> 00:26:04,160
geredet haben und die will sich 
der Service jetzt holen ne und? 

495
00:26:04,640 --> 00:26:06,640
Er kriegt halt das was er 
braucht, ne. 

496
00:26:07,200 --> 00:26:09,840
Ob das jetzt zum Beispiel von 
der Sofortüberweisung ist oder 

497
00:26:09,840 --> 00:26:12,360
von paypal ist egal. 
Das was er braucht, es wird 

498
00:26:12,360 --> 00:26:14,320
vielleicht noch Gemappt für 
irgendwie was, was 

499
00:26:14,320 --> 00:26:16,520
allgemeingültig in dem eigenen 
System ist. 

500
00:26:16,520 --> 00:26:21,360
Beispielsweise ne und das ist ja
das Targetinterface, also das 

501
00:26:21,360 --> 00:26:24,080
erwartet dieser Client und dann 
gibt es halt eben die diesen 

502
00:26:24,080 --> 00:26:28,760
Adepti ne, das ist sozusagen 
dann die alte inkompatible 

503
00:26:28,760 --> 00:26:32,640
Klasse, die irgendwie da ist. 
Existiert, die man irgendwie 

504
00:26:32,640 --> 00:26:35,840
nutzen muss. 
Und den Adapter der ich sag mal 

505
00:26:35,840 --> 00:26:40,080
so gedanklich um den Adaptiv 
Rumgelegt wird, damit er halt 

506
00:26:40,080 --> 00:26:42,800
eben passt. 
Mhm so. 

507
00:26:44,000 --> 00:26:48,000
Genau also das ist, kann man 
sich ja so vorstellen, wenn ich 

508
00:26:48,000 --> 00:26:51,400
jetzt zum Beispiel diesen das 
Target Interface aufrufe, weil 

509
00:26:51,400 --> 00:26:54,000
du meintest, ich erwarte gewisse
Daten ne und wenn wir jetzt das 

510
00:26:54,000 --> 00:26:56,880
Bezahlthema nehmen, dann möchte 
ich jetzt sowas wissen wie. 

511
00:26:57,640 --> 00:26:59,840
Ist die Transaktion ausgeführt 
worden? 

512
00:26:59,840 --> 00:27:03,600
Ich hätt gern ne transaktions 
IDN Zeitpunkt wann das gemacht 

513
00:27:03,600 --> 00:27:07,080
wurde über den Betrag so weiter.
Also da erwarte ich ja in meinem

514
00:27:07,080 --> 00:27:10,640
Client gewisse Daten die ich 
zurückbekomme beispielsweise ja 

515
00:27:11,120 --> 00:27:16,120
und die muss ich ja jetzt, dafür
muss ich ja jetzt sorgen, dass 

516
00:27:16,120 --> 00:27:19,520
egal mit was ich bezahle, diese 
Daten auch zurückkommen, ne also

517
00:27:19,520 --> 00:27:22,160
dass dieses Interface erfüllt 
ist, sozusagen diese 

518
00:27:22,160 --> 00:27:24,960
Schnittstelle. 
Und wenn wir jetzt so n Adapti 

519
00:27:24,960 --> 00:27:28,560
haben, wieso Sofortüberweisung? 
Dann kann es ja sein, dass da 

520
00:27:28,560 --> 00:27:32,640
gewisse Daten einfach anders 
formatiert sind. 

521
00:27:32,640 --> 00:27:35,280
Ja, das gutes gutes Beispiel ist
einfach, dass es anders 

522
00:27:35,280 --> 00:27:37,680
formatiert ist, dass man die 
vielleicht noch aufbereiten 

523
00:27:37,680 --> 00:27:40,320
muss. 
Ja nimm mal zum Beispiel n 

524
00:27:40,320 --> 00:27:43,600
Zeitstempel ja, also wenn du 
sagst, wann wurde die 

525
00:27:43,600 --> 00:27:48,160
Überweisung ausgeführt, so neue 
Systeme geben dir das jetzt nach

526
00:27:48,160 --> 00:27:51,600
in der Einzeitzone und das ein 
System denkt sich nee hier. 

527
00:27:53,480 --> 00:27:56,240
Überweisung innerhalb von 
Deutschland das ist jetzt nach 

528
00:27:56,240 --> 00:27:59,440
deutscher Zeit und nicht ISO 
beispielsweise. 

529
00:27:59,760 --> 00:28:01,960
Ja. 
So, und dann kannst du jetzt 

530
00:28:01,960 --> 00:28:04,960
sagen, bald den Zeitstempel 
zurück. 

531
00:28:04,960 --> 00:28:07,160
Ja gut, dann hast du aber n 
Stundenversatz drin, jetzt 

532
00:28:07,160 --> 00:28:11,360
bezahlt einer innerhalb von 
einer Minute mit Paypal und dann

533
00:28:11,840 --> 00:28:14,840
ne, also ne inlandsüberweisung 
sag ich mal. 

534
00:28:14,840 --> 00:28:18,160
Ist jetzt rein hypothetisch ne, 
aber dein System sagt auf einmal

535
00:28:18,160 --> 00:28:20,400
da waren aber jetzt da sind ja 
noch n paar Stunden dazwischen. 

536
00:28:20,720 --> 00:28:22,480
Ja. 
So weil. 

537
00:28:23,160 --> 00:28:25,960
Du dein inkompatibles System 
angebunden hast. 

538
00:28:25,960 --> 00:28:29,760
Was, und das ist n worst Case 
die Daten irgendwo verarbeitbar 

539
00:28:29,760 --> 00:28:32,320
sind aber einfach nicht stimmen 
oder einfach nicht das sind was 

540
00:28:32,320 --> 00:28:34,720
der Client erwartet. 
Da hat wohl jemand, da wurde 

541
00:28:34,720 --> 00:28:37,480
nicht gelesen. 
Bitoku nicht gelesen und da wär 

542
00:28:37,480 --> 00:28:40,080
jetzt so n Adapter halt genau 
richtig zu sagen Hey nee warte 

543
00:28:40,080 --> 00:28:41,160
mal. 
Wir müssen natürlich in der 

544
00:28:41,160 --> 00:28:43,360
richtigen Zeitung im richtigen 
Format das zurückgeben, wir 

545
00:28:43,360 --> 00:28:45,920
müssen die richtigen Daten 
zurückgeben, genau. 

546
00:28:46,400 --> 00:28:49,040
Ich hab auch schon Beispiele 
gesehen und das ist da denkt man

547
00:28:49,040 --> 00:28:50,960
sich auch so. 
Oh Mann ey, ist das notwendig? 

548
00:28:50,960 --> 00:28:53,920
Ja ist es, dass du zum Beispiel 
eigentlich die gleiche Funktion 

549
00:28:53,920 --> 00:28:55,600
aufrufst? 
Ne, die vielleicht wirklich nur 

550
00:28:55,600 --> 00:28:59,600
anders heißt oder zum Beispiel 
sich n Datentyp ändert. 

551
00:28:59,920 --> 00:29:03,920
Ja, ist jetzt immer so, n 
Beispiel da gehen alle mal auf 

552
00:29:03,920 --> 00:29:07,040
die Barrikaden ja ich stell mir 
vor du bezahlst jetzt was und 

553
00:29:07,120 --> 00:29:11,640
der eine nimmt halt. 
Sag ich mal ganz zahlen ja, um 

554
00:29:11,640 --> 00:29:13,800
das halt um keinen 
Rundungsfehler drin zu haben 

555
00:29:13,800 --> 00:29:19,320
oder der andere sagt durch hier 
gib mir float hier 5,32€ ja mal 

556
00:29:19,320 --> 00:29:22,280
als Beispiel und deine 
Schnittstelle sagt aber nicht 

557
00:29:22,280 --> 00:29:24,520
ich hätt das aber gerne in 
Ganzzahlen ja um den 

558
00:29:24,520 --> 00:29:26,080
Rundungsfehler aus dem Weg zu 
gehen. 

559
00:29:27,040 --> 00:29:30,160
Dann Fehler, zack. 
Fehler so, dann musst du halt 

560
00:29:30,160 --> 00:29:34,000
auch die mit dem Adapter quasi 
versuchen das bestmöglich 

561
00:29:34,000 --> 00:29:38,000
fingercross ja umzuwandeln dann.
Ja. 

562
00:29:38,680 --> 00:29:40,160
Definitiv. 
Also finde ich sehr gute 

563
00:29:40,160 --> 00:29:44,600
Beispiele und im Endeffekt um 
das jetzt wirklich, wenn du das 

564
00:29:44,600 --> 00:29:46,320
jetzt implementieren willst. 
Es gibt ja theoretisch 

565
00:29:46,320 --> 00:29:48,960
verschiedene Möglichkeiten, wie 
du ja schon meintest, wir können

566
00:29:48,960 --> 00:29:55,600
jetzt angepasst auf das USB C 
auf aux oder Bluetooth auf aux 

567
00:29:56,320 --> 00:29:59,360
dieses Adapter Ding können wir 
anpassen und sagen es gibt 

568
00:29:59,360 --> 00:30:02,880
verschiedene Adapter 
Möglichkeiten und zum Beispiel 

569
00:30:02,880 --> 00:30:04,720
gibt es die. 
Sagen wir mal den Object 

570
00:30:04,720 --> 00:30:07,280
Adapter. 
Das ist ja also jetzt wirklich 

571
00:30:07,280 --> 00:30:12,200
als Implementierung ne oder 
implementierungsvariante ne ist 

572
00:30:12,200 --> 00:30:17,520
ja eigentlich n relativ gängiger
Adapter n gängiges Adapter 

573
00:30:17,520 --> 00:30:20,080
pattern sag ich jetzt mal, was 
man halt auch oft verwendet, das

574
00:30:20,080 --> 00:30:23,120
ist im Endeffekt genau. 
Das, was wir gerade so n 

575
00:30:23,120 --> 00:30:24,960
bisschen beschrieben haben, ne. 
Also du kriegst jetzt zum 

576
00:30:24,960 --> 00:30:28,000
Beispiel von dem von dem einen 
Controller kriegst du Input und 

577
00:30:28,000 --> 00:30:31,880
sollst damit irgendwas steuern, 
ne also oder du kriegst halt von

578
00:30:31,880 --> 00:30:33,760
keine Ahnung einem anderen 
Controller wie zum Beispiel mit 

579
00:30:33,760 --> 00:30:36,400
dem Lenkrad auch n Input und 
sollst das halt eben auch sollst

580
00:30:36,400 --> 00:30:38,640
auch ne irgendeine Figur steuern
beispielsweise, das heißt Du 

581
00:30:38,640 --> 00:30:41,440
kriegst zum Beispiel von dem 
einen irgendwie Daten rein von 

582
00:30:41,440 --> 00:30:43,960
dem einen System und von dem 
anderen System ne sagen wir mal 

583
00:30:43,960 --> 00:30:46,720
das Lenkrad wäre jetzt das zum 
Beispiel so n altsystem oder 

584
00:30:46,720 --> 00:30:49,040
irgendwas was eigentlich nicht 
passt, du es aber trotzdem 

585
00:30:49,040 --> 00:30:53,720
anpassen möchtest ne und? 
Es gibt theoretisch aber ja auch

586
00:30:53,720 --> 00:30:55,680
noch die Möglichkeit, dass du 
sagst, du hast so ne 

587
00:30:55,680 --> 00:30:59,760
bidirektionale Verbindung. 
Ne, wie zum Beispiel du hast 

588
00:30:59,760 --> 00:31:03,040
irgendwie ne Art Kommunikation, 
ne, also wie wir zum Beispiel 

589
00:31:03,040 --> 00:31:07,040
vorhin bei dem Real Life 
Beispiel hatten von Übersetzer 

590
00:31:07,040 --> 00:31:09,080
ne, so dass du halt irgendwie ne
Translation hast. 

591
00:31:09,080 --> 00:31:11,560
Das heißt 2 Leute unterhalten 
sich und dazwischen steht n 

592
00:31:11,560 --> 00:31:14,240
Dolmetscher ne, das heißt du 
hast quasi. 

593
00:31:15,120 --> 00:31:17,160
Mehr oder weniger in 2 
Richtungen ne. 

594
00:31:17,160 --> 00:31:20,720
Es gibt so n tuway Adapter, dass
du im Endeffekt das ganze so 

595
00:31:20,720 --> 00:31:25,080
machst, dass du dieses, diesen 
dieses Interface was dafür sorgt

596
00:31:25,080 --> 00:31:29,840
ne oder beziehungsweise der 
Adapter selber ne nimmt. 

597
00:31:29,840 --> 00:31:32,960
Jetzt die Adaptivs sind beides 
mehr oder weniger, dann adaptivs

598
00:31:32,960 --> 00:31:37,520
die dann gegenseitig sozusagen. 
Übersetzt werden also, das sind 

599
00:31:37,520 --> 00:31:41,040
beispielsweise jetzt so 2 
deutlich, ich nenn es mal eher 

600
00:31:41,040 --> 00:31:44,160
verschiedene Art und weisen um 
Adapter umzusetzen, die es zum 

601
00:31:44,160 --> 00:31:48,000
Beispiel so gibt, ne als 
Implementierungsvarianten. 

602
00:31:48,080 --> 00:31:51,280
Aber was ist denn für dich so, 
die die gängige Variante, wie es

603
00:31:51,280 --> 00:31:53,600
oft implementiert wird oder wie 
man es halt auch so aus 

604
00:31:53,600 --> 00:31:56,440
Lehrbüchern kennt? 
Also ich hatte es nicht gesagt, 

605
00:31:56,440 --> 00:31:58,320
also ich glaube, ich hatte, 
vielleicht hab ich es nur 

606
00:31:58,320 --> 00:32:01,320
gedacht. 
Ist ja manchmal so, der also ich

607
00:32:01,320 --> 00:32:03,440
würde sagen, das wäre der Object
Adapter, weil so dieses. 

608
00:32:04,120 --> 00:32:06,920
Dieser Tuway Adapter, den hab 
ich, ich glaub den musste ich 

609
00:32:06,920 --> 00:32:10,400
selber auch noch nie verwenden, 
also noch nie, selbst jetzt in 

610
00:32:10,400 --> 00:32:15,720
einem Real Life Beispiel richtig
benutzen ne also in in in einer 

611
00:32:15,720 --> 00:32:19,160
echten also ne. 
Echt noch kein Übersetzer 

612
00:32:19,160 --> 00:32:23,600
geschrieben für die Sprachen. 
Also nicht Real Life Analogie 

613
00:32:23,600 --> 00:32:26,480
Beispielmäßig, sondern weißt du 
so wirklich mal implementieren 

614
00:32:26,480 --> 00:32:29,200
wusste ich es nicht. 
Für ne echte Anwendung so aus 

615
00:32:29,200 --> 00:32:32,200
Spaß mal aber eher der Object 
Adapter. 

616
00:32:32,200 --> 00:32:35,520
Ne, dass du wirklich sagst OK du
hast irgendwas was von irgendwo 

617
00:32:35,520 --> 00:32:38,480
kommt, ne was irgendwie zum 
Beispiel Daten schickt womit du 

618
00:32:38,720 --> 00:32:40,240
die du weiterverarbeiten 
möchtest. 

619
00:32:42,000 --> 00:32:45,400
Ja, also das ist eigentlich auch
wirklich immer das erste, was 

620
00:32:45,400 --> 00:32:48,400
man so findet, wenn man jetzt 
danach google und so. 

621
00:32:49,040 --> 00:32:52,000
Codebeispiele sehen möchte, dass
du halt einfach wie gesagt in 

622
00:32:52,000 --> 00:32:56,240
deinem Target Interface 
sozusagen ne Instanz beinhaltest

623
00:32:56,240 --> 00:32:59,440
von deinem Altsystem und dann 
direkt darauf mappen kannst. 

624
00:32:59,440 --> 00:33:01,600
Ne, das ist halt auch sehr 
flexibel. 

625
00:33:01,600 --> 00:33:05,600
Am Ende muss man sagen, hat aber
halt n gewissen Overhead auch 

626
00:33:05,600 --> 00:33:08,680
mit bei sich, ja und? 
Da muss man ja wir. 

627
00:33:08,680 --> 00:33:11,600
Hatten uns ja vorgenommen, dass 
wir auch mal Codebeispiele dazu 

628
00:33:11,600 --> 00:33:13,680
zeigen wollen. 
Da arbeiten wir ja schon dran. 

629
00:33:13,680 --> 00:33:16,160
Und dann reminder an uns, dass 
wir das dann auch mal 

630
00:33:16,160 --> 00:33:17,920
darstellen, dann kann man das 
auch einfach n bisschen besser 

631
00:33:17,920 --> 00:33:19,040
sehen. 
Genau. 

632
00:33:20,720 --> 00:33:24,640
Aber ich würd gerne mal so vor 
und Nachteile beleuchten, weil 

633
00:33:26,560 --> 00:33:29,720
ja kann man jetzt viele denken, 
sich jetzt vielleicht ja OK kann

634
00:33:29,720 --> 00:33:32,280
man draus ableiten, ja ich kann 
halt als Systeme anbinden, 

635
00:33:32,280 --> 00:33:34,760
Nachteil ich muss sie anbinden, 
es funktioniert halt nicht 

636
00:33:34,760 --> 00:33:38,160
einfach so ja, aber da steckt ja
noch n bisschen mehr dahinter, 

637
00:33:39,840 --> 00:33:43,520
ich finde nämlich n ganz guter 
Punkt dabei ist auch nicht nur, 

638
00:33:43,520 --> 00:33:45,520
dass ich sage ich kann Legacy 
Code. 

639
00:33:45,880 --> 00:33:49,040
Wiederverwenden oder 
weiterverwenden, sondern ich 

640
00:33:49,040 --> 00:33:53,600
schaffe damit auch eine gewisse,
einen gewissen Grad der 

641
00:33:53,600 --> 00:33:56,800
Entkopplung und das hat man 
eigentlich an unseren Beispielen

642
00:33:56,800 --> 00:33:59,720
auch ganz gut gesehen, weil 
dieser Client, wie wir ihn 

643
00:33:59,720 --> 00:34:02,400
nennen oder wie er auch so laut 
Lehrbuch genannt wird. 

644
00:34:03,400 --> 00:34:05,520
Erwartet jetzt eine 
Schnittstelle, aber ihm ist egal

645
00:34:05,520 --> 00:34:08,880
wie die implementiert ist oder 
was dahinter steckt. 

646
00:34:08,880 --> 00:34:12,719
Die Logik sitzt ja quasi auf der
gegenüberliegenden Seiten, zum 

647
00:34:12,719 --> 00:34:18,480
Beispiel beim Adapti ja, also 
bei dem Altsystem und du selbst 

648
00:34:18,480 --> 00:34:22,080
in als Client möchtest ja nur, 
dass das ausgeführt wird, was du

649
00:34:22,080 --> 00:34:25,320
erwartest und du dementsprechend
auch die Werte oder Daten 

650
00:34:25,320 --> 00:34:29,120
bekommst, die du erwartest. 
Und dadurch schaffst du halt 

651
00:34:29,360 --> 00:34:33,239
eine super Entkopplung, dass 
dein Client die. 

652
00:34:33,239 --> 00:34:36,000
Dieses Altsystem, diesen Adapti 
ja gar nicht kennen muss. 

653
00:34:36,400 --> 00:34:39,280
Ja, ich find das ich glaub das 
hatte ich auch schon mal gesagt.

654
00:34:39,280 --> 00:34:43,239
Das ist natürlich immer so n 
bisschen eventuell so n bisschen

655
00:34:43,239 --> 00:34:46,040
merkwürdig, dass man sich sagt 
OK muss man nicht kennen, ist 

656
00:34:46,040 --> 00:34:49,159
vor allem halt relevant wenn man
vielleicht nicht nur alleine an 

657
00:34:49,159 --> 00:34:52,400
einem Code arbeitet ne also 
einfach jetzt aus der Sicht 

658
00:34:52,400 --> 00:34:55,440
heraus, dass du sagst, 
angenommen du. 

659
00:34:55,960 --> 00:34:58,240
Musst jetzt zum Beispiel, du 
hast die Aufgabe, innerhalb 

660
00:34:58,240 --> 00:35:02,120
eines Teams neues Altsystem oder
n anderes System, was aber nicht

661
00:35:02,120 --> 00:35:04,360
ganz zu deiner Schnittstelle 
passt, anzubinden, weil 

662
00:35:04,360 --> 00:35:07,200
irgendjemand sagt, Ey, du musst 
das die Daten, wir brauchen die 

663
00:35:07,520 --> 00:35:11,840
ne, dann musst du dir nicht 
jedes Mal überlegen ha, wie mach

664
00:35:11,840 --> 00:35:14,440
ich denn das jetzt so, sondern 
du weißt ja ganz genau OK pass 

665
00:35:14,440 --> 00:35:17,400
auf, ich brauche diese Daten auf
meiner Seite des Systems und ich

666
00:35:17,400 --> 00:35:20,320
kriege diese Daten von der 
anderen Seite des Systems und 

667
00:35:20,320 --> 00:35:23,040
jetzt muss ich gucken, dass ich 
das irgendwie so Mappe mit 

668
00:35:23,040 --> 00:35:25,440
meinem Adapter, dass ich halt 
eben. 

669
00:35:26,160 --> 00:35:29,600
Ne die Daten da rein pipen kann 
sozusagen ne über den Adapter. 

670
00:35:29,600 --> 00:35:33,040
Ne das ist im Endeffekt, dass 
mein System versteht was es all 

671
00:35:33,040 --> 00:35:36,720
System schickt, weil eigentlich 
mehr oder weniger die gleiche 

672
00:35:36,720 --> 00:35:39,520
Sprache gesprochen wird. 
Ne, also du kannst ja mit 

673
00:35:39,680 --> 00:35:43,320
Spanisch genau das Gleiche 
sagen, ne im Deutschen, bloß 

674
00:35:43,320 --> 00:35:45,680
dass man, wenn man keinen 
Übersetzer hat, das halt nicht 

675
00:35:45,680 --> 00:35:48,960
versteht und. 
Das ist halt n supergeiler 

676
00:35:48,960 --> 00:35:51,680
Vorteil, weil du überhaupt nicht
dir irgendwie Gedanken darüber 

677
00:35:51,680 --> 00:35:53,240
machen musst. 
Wie mach ich das denn diesmal? 

678
00:35:53,240 --> 00:35:55,920
Sondern du hast ja schon mehr 
oder weniger n Reglement zu 

679
00:35:55,920 --> 00:35:58,080
sagen, das braucht mein System, 
ne. 

680
00:35:59,280 --> 00:36:02,320
Und das ist halt auch gerade so 
hinsichtlich von Protokollen, 

681
00:36:02,320 --> 00:36:03,600
weil wir ja auch so Bluetooth 
hatten. 

682
00:36:03,600 --> 00:36:07,680
Ja einfach ne super Sache, weil 
dem Handy ist ja egal wer am 

683
00:36:07,680 --> 00:36:12,160
Ende der Empfänger der Bluetooth
Signale nenn ich es mal ne ist. 

684
00:36:12,840 --> 00:36:16,400
Sondern der Task ist. 
Sende jetzt bitte Audio über die

685
00:36:16,400 --> 00:36:20,480
Bluetooth Schnittstelle. 
Das Handy macht es ob direkt das

686
00:36:20,480 --> 00:36:23,520
Radio angeschlossen ist und das 
empfängt oder nen Adapter 

687
00:36:23,520 --> 00:36:26,080
dazwischen ist der es dann 
weitergibt an das Radio, das ist

688
00:36:26,080 --> 00:36:28,960
ja deinem Handy komplett egal. 
Dein Handy weiß ja nicht, dass 

689
00:36:28,960 --> 00:36:32,800
es über nen Adapter geht oder 
über n Radio oder über die ja 

690
00:36:32,800 --> 00:36:36,680
klassische JBL Box im Garten so 
ja also das das spielt ja keine 

691
00:36:36,680 --> 00:36:38,400
Rolle, das ist ja das Gute 
dabei. 

692
00:36:40,400 --> 00:36:43,600
Und was ich natürlich auch gut 
finde dabei ist oder was man als

693
00:36:43,600 --> 00:36:46,000
Vorteil einfach nennen muss, ist
auch so diese Single 

694
00:36:46,000 --> 00:36:50,240
Responsibility. 
Ja, also das SRP Prinz SRP 

695
00:36:50,240 --> 00:36:55,200
Prinzip SR Prinzip, dann hatten 
wir ja auch schon mal in einer 

696
00:36:55,200 --> 00:36:58,560
Podcast Folge behandelt und es 
ist halt gut, dass du sagen 

697
00:36:58,560 --> 00:37:01,240
kannst, ich habe jetzt einen 
Adapter, der auch wirklich nur 

698
00:37:01,240 --> 00:37:04,040
diese Aufgabe der Übersetzung. 
Übernimmt ne. 

699
00:37:04,040 --> 00:37:06,640
Also ich etablier jetzt einen 
Adapter. 

700
00:37:06,640 --> 00:37:10,480
Ja, ich nutze dieses Pattern um 
wirklich nur mich darum an 

701
00:37:10,480 --> 00:37:13,680
dieser Stelle kümmern zu können 
und dann ist es für beide Seiten

702
00:37:14,320 --> 00:37:17,600
OK und spielt keine Rolle, dass 
da irgendwie n Adapter 

703
00:37:17,600 --> 00:37:21,040
dazwischen hängt und das gibt 
natürlich auch ne ordentliche 

704
00:37:21,040 --> 00:37:23,680
Flexibilität, ja. 
Ja, definitiv. 

705
00:37:23,760 --> 00:37:26,320
Ich mein, diese Flexibilität 
kaufst du dir natürlich wieder 

706
00:37:26,320 --> 00:37:29,840
ein, logischerweise durch ne 
zusätzliche Komplexität, weil du

707
00:37:29,840 --> 00:37:33,040
natürlich sagst, OK. 
Du hast halt eben diesen 

708
00:37:33,040 --> 00:37:38,120
Overhead von sagen wir mal einem
Adapter Interface sozusagen. 

709
00:37:38,120 --> 00:37:42,880
Was du halt also implementieren 
musst, warten musst anpassen 

710
00:37:42,880 --> 00:37:45,520
musst eventuell, wenn du zum 
Beispiel deinen Adapter anpasst,

711
00:37:45,680 --> 00:37:47,120
ne musst du halt auch eben 
gucken. 

712
00:37:47,120 --> 00:37:51,280
OK, angenommen du hast 5 Systeme
angebunden, ne so und jetzt 

713
00:37:51,280 --> 00:37:53,680
sagst du ja aber ich brauche in 
meinem System aber noch das und 

714
00:37:53,680 --> 00:37:56,040
das. 
Und dann kann es ja durchaus 

715
00:37:56,040 --> 00:37:59,600
sein, dass du zum Beispiel von 3
Systemen oder von 4 Systemen 

716
00:37:59,600 --> 00:38:01,600
diese diese Daten auch noch 
bekommst, die du vorher 

717
00:38:01,600 --> 00:38:05,240
vielleicht ignoriert hast. 
Aber beim fünften System musst 

718
00:38:05,240 --> 00:38:09,280
du halt noch mal irgendwie keine
Ahnung 10 verschiedene Daten 

719
00:38:09,280 --> 00:38:12,680
zusammenführen, ne konvergieren 
verrechnen, damit du wirklich 

720
00:38:12,680 --> 00:38:14,040
auf den Wert kommst, den du 
eigentlich brauchst. 

721
00:38:14,040 --> 00:38:17,360
Ne, also das muss man sich. 
Natürlich muss man natürlich im 

722
00:38:17,360 --> 00:38:21,440
Hinterkopf behalten, dass ne 
Anpassung des sagen wir mal 

723
00:38:21,440 --> 00:38:26,160
Adapters durchaus eben. 
Auch n bisschen mehr mit sich 

724
00:38:26,160 --> 00:38:29,200
bringen kann und du halt immer 
den Overhead logischerweise hast

725
00:38:29,200 --> 00:38:32,800
von von dem was du 
implementieren musst 

726
00:38:32,800 --> 00:38:37,440
logischerweise ne. 
Ja, ganz klar, du hast diesen 

727
00:38:37,440 --> 00:38:39,600
Overhead das das nicht 
wegzudiskutieren. 

728
00:38:39,920 --> 00:38:42,880
Du hast natürlich durch diese 
Flexibilität den Vorteil auch 

729
00:38:42,880 --> 00:38:44,800
mehrere Adapter verwenden zu 
können. 

730
00:38:45,760 --> 00:38:48,400
Ja wenn wir jetzt noch mal auf 
das Beispiel Controller gehen. 

731
00:38:49,920 --> 00:38:53,520
Kann ich ja einfach für jeden 
Controller den ich habe, diesen 

732
00:38:53,520 --> 00:38:56,080
Adapter implementieren und sie 
können, wie wir vorhin meinten, 

733
00:38:56,080 --> 00:38:58,240
das gleiche Spiel am Ende 
spielen und dann spielt es keine

734
00:38:58,240 --> 00:39:01,560
Rolle, ob ich jetzt gerade mit 
meinem Xbox Controller oder mit 

735
00:39:01,560 --> 00:39:04,400
dem playstation Controller 
spielen möchte, weil ich habe 

736
00:39:04,400 --> 00:39:07,800
für jeden einen Adapter. 
Der dafür sorgt, dass die 

737
00:39:07,800 --> 00:39:10,720
Signale zu den richtigen, also 
richtig connected werden 

738
00:39:10,720 --> 00:39:12,960
sozusagen. 
Und das ist ja ne geile Sache 

739
00:39:12,960 --> 00:39:14,960
und das gibt halt enorm 
Flexibilität. 

740
00:39:14,960 --> 00:39:18,720
Aber ja wie du meintest, ich 
komm ja nicht drum rum diesen 

741
00:39:18,720 --> 00:39:21,200
Adapter für jeden Controller zu 
schreiben, ich kann natürlich 

742
00:39:21,440 --> 00:39:24,640
den Ansatz gibt es auch so ne 
Art generic schreiben ja, also 

743
00:39:24,640 --> 00:39:27,360
dass ich sage ich habe so n 
keine Ahnung, wenn ich nicht n 

744
00:39:27,360 --> 00:39:29,440
wirklichen passenden Adapter 
hab, dann hab ich noch so n 

745
00:39:29,440 --> 00:39:32,840
allgemeingültigen und vielleicht
passt es gibt es gab es ja auch 

746
00:39:32,840 --> 00:39:35,720
früher oft, aber das ist. 
Ja, das ist ja noch mal ne 

747
00:39:35,720 --> 00:39:37,840
andere Geschichte, aber 
grundsätzlich brauche ich halt, 

748
00:39:37,840 --> 00:39:40,560
ist das ja eher den Fallback, 
sondern ich hab eigentlich nen 

749
00:39:40,560 --> 00:39:45,080
Adapter, der darauf genau passt.
Ja genau ich mein gut, du kannst

750
00:39:45,080 --> 00:39:48,160
auch Adapter weglassen und 
wirklich jedes System 1 zu 1 zu 

751
00:39:48,160 --> 00:39:52,040
anbinden, dann musst du irgendwo
ne krasse Unterscheidung machen 

752
00:39:52,040 --> 00:39:55,240
und sagen, wenn jetzt quasi das 
und das ist, dann musst du die 

753
00:39:55,240 --> 00:39:58,320
Daten da und davon nehmen und 
genauso wie sie sind keine 

754
00:39:58,720 --> 00:40:02,560
Ahnung das macht es aber am Ende
halt deutlich unübersichtlicher.

755
00:40:03,520 --> 00:40:05,840
Und also das bläht halt den Code
enorm auf. 

756
00:40:05,840 --> 00:40:08,240
Dann am Ende ne deswegen ja auf 
jeden Fall. 

757
00:40:08,240 --> 00:40:12,080
Also over use ist da auch, also 
wie hatten wir das so schön 

758
00:40:12,080 --> 00:40:14,280
immer wenn wir n Pattern 
kennengelernt hatten, dann haben

759
00:40:14,280 --> 00:40:17,440
wir es erstmal massiv genutzt, 
hier muss man natürlich sagen 

760
00:40:17,440 --> 00:40:23,520
beim Adapter Pattern over use 
ist sehr schädlich fürs Projekt.

761
00:40:24,200 --> 00:40:26,080
Ja, es ist halt so. 
Wenn ich jetzt anfange, mir zu 

762
00:40:26,080 --> 00:40:27,840
denken, Oh, bei jeder 
Schnittstelle und bei jedem 

763
00:40:27,840 --> 00:40:30,880
Aufruf, vor allem ich mach mal n
Adapter dazwischen, wer weiß was

764
00:40:30,880 --> 00:40:33,720
ich da noch so anbinden muss. 
Das ist jetzt natürlich nicht 

765
00:40:33,720 --> 00:40:35,320
Sinn und Zweck, ne. 
Ja, es ist halt. 

766
00:40:35,320 --> 00:40:38,320
Am Ende kommt es ja immer auf 
den auf den Knackpunkt hinaus. 

767
00:40:38,320 --> 00:40:41,040
Ne, passt es denn zu dem was du 
gerade brauchst? 

768
00:40:41,040 --> 00:40:43,680
Und wenn du sagst? 
Du hast zum Beispiel viele 

769
00:40:43,680 --> 00:40:46,400
verschiedene Datenquellen, 
Systeme, die du irgendwie 

770
00:40:46,400 --> 00:40:48,720
anbinden möchtest, mit denen du 
irgendwie arbeiten musst. 

771
00:40:48,720 --> 00:40:51,840
Wie auch immer, dann ist es 
natürlich sinnvoll n Adapter zu 

772
00:40:51,840 --> 00:40:55,920
schreiben oder wenn die Daten so
unterschiedlich aufgebaut sind, 

773
00:40:56,080 --> 00:40:58,320
dass es eigentlich überhaupt 
nicht zusammenpasst. 

774
00:40:58,320 --> 00:41:00,480
Ne, dann macht es irgendwann 
auch Sinn. 

775
00:41:00,480 --> 00:41:01,920
Also es bringt ja nichts, wenn 
du sagst. 

776
00:41:02,240 --> 00:41:05,440
Du hast 5 verschiedene Systeme 
und System 12345 haben. 

777
00:41:05,440 --> 00:41:09,280
Alle sind unterscheiden sich so 
extrem in dem wie die 

778
00:41:09,280 --> 00:41:12,000
Datenrepräsentation ist, dass es
am Ende einfach gar keinen Sinn 

779
00:41:12,000 --> 00:41:15,040
macht zu sagen, gut dann nehm 
ich mir halt wirklich. 

780
00:41:15,040 --> 00:41:18,920
Du könntest ja also sozusagen 
wirklich alles einzeln zu 

781
00:41:18,920 --> 00:41:20,960
händeln. 
Weißt du, das ist irgendwie dann

782
00:41:20,960 --> 00:41:22,760
dann dann kommst du ja völlig 
durcheinander innerhalb deines 

783
00:41:22,760 --> 00:41:27,640
eigenen Systems, ne, da muss man
halt wirklich gucken, OK, wann 

784
00:41:27,640 --> 00:41:29,240
macht es Sinn und wann nicht 
wenn du sagst. 

785
00:41:30,720 --> 00:41:32,560
Ich. 
Weiß ich nicht, bin vielleicht 

786
00:41:32,560 --> 00:41:35,120
auch nur ein System an, dann 
kannst du es halt auch direkt 

787
00:41:35,840 --> 00:41:38,400
overfitten sozusagen an dieses 
eine System. 

788
00:41:39,440 --> 00:41:42,920
Ne ja, das stimmt, das stimmt, 
weil man hat natürlich auch die 

789
00:41:42,920 --> 00:41:47,360
Gefahr, dass es so ein bisschen 
Performance Einbußen geben 

790
00:41:47,360 --> 00:41:51,320
könnte oder Overhead erzeugt. 
Weil ich halt wie gesagt immer 

791
00:41:51,320 --> 00:41:54,240
noch ne ne Schnittstelle 
dazwischen hab oder ne Instanz. 

792
00:41:54,240 --> 00:41:57,680
Ja, also wie wir zum Beispiel 
vorhin meinten, wenn ich einfach

793
00:41:57,680 --> 00:42:01,360
in meinem Adapter halt die als 
Systeme als Objekt halte, 

794
00:42:01,360 --> 00:42:04,800
beispielsweise um dann darauf ja
ich ich nenn es jetzt mal mappen

795
00:42:04,800 --> 00:42:08,720
zu können, ja das sind ja alles 
so Themen, die hätt ich nicht, 

796
00:42:08,720 --> 00:42:11,360
wenn ich gar nicht erst n 
Adapter brauche ne also oder gar

797
00:42:11,360 --> 00:42:13,640
nicht erst verwende, weil es 
vielleicht wirklich nicht 

798
00:42:13,640 --> 00:42:16,080
notwendig ist an der Stelle 
deswegen over use. 

799
00:42:16,600 --> 00:42:19,400
Geht schnell, gerade wenn man 
sagt, Oh, das Pattern hab ich 

800
00:42:19,400 --> 00:42:22,400
jetzt gelernt, das will ich 
jetzt verwenden, aber es geht 

801
00:42:22,400 --> 00:42:24,960
natürlich einfach. 
Die Systeme sind kompatibel, 

802
00:42:24,960 --> 00:42:28,800
packen Adapter dazwischen. 
Wer weiß, vielleicht sind sie es

803
00:42:28,800 --> 00:42:33,520
morgen nicht mehr. 
Aber wir wollen natürlich auch 

804
00:42:33,520 --> 00:42:35,880
drauf eingehen, was sind. 
Wo ist es denn jetzt geeignet, 

805
00:42:35,880 --> 00:42:38,960
wir haben ja so Beispiele 
gebracht, wo man schon gesehen 

806
00:42:38,960 --> 00:42:41,280
hat, oder die haben wir ja 
gebracht, weil es dafür geeignet

807
00:42:41,280 --> 00:42:43,080
ist. 
Also Stichwort Integration von 

808
00:42:43,080 --> 00:42:45,800
Legacy Code, weil ich vielleicht
noch n gewissen Support leisten 

809
00:42:45,800 --> 00:42:47,720
muss. 
Abgehackt würde ich sagen, haben

810
00:42:47,720 --> 00:42:52,000
wir drüber gesprochen, Payment 
hatten wir angesprochen und das 

811
00:42:52,000 --> 00:42:55,720
ist n großer Punkt wann das Sinn
macht und zwar wenn ich so APIS 

812
00:42:55,720 --> 00:42:58,320
zum Beispiel vereinheitlichen 
möchte, ja also. 

813
00:42:58,680 --> 00:43:02,080
Ich habe wie gesagt das gleiche 
Konzept wie zum Beispiel Payment

814
00:43:02,080 --> 00:43:05,680
und hab jetzt unterschiedliche 
Dienstleister mit einer API zum 

815
00:43:05,680 --> 00:43:08,400
Beispiel und das zu 
vereinheitlichen und dann 

816
00:43:08,480 --> 00:43:11,840
Adapter zu verwenden um das zu 
gewährleisten ist n super 

817
00:43:11,840 --> 00:43:16,000
Anwendungsfall also da macht es 
Sinn nicht vielleicht nicht in 

818
00:43:16,000 --> 00:43:20,400
jedem Fall ne man kann es halt 
nicht verallgemeinern, aber das 

819
00:43:20,400 --> 00:43:24,440
ist so n Punkt, da würde ich 
auch ans an den Adapter denken 

820
00:43:24,440 --> 00:43:27,920
sozusagen. 
Ja, Datenformate konvertieren, 

821
00:43:27,920 --> 00:43:30,720
gerade wenn vielleicht auch von 
A nach B und von B nach A. 

822
00:43:30,720 --> 00:43:33,160
Ne sowas wirklich to way 
binding, dass du sagst ne 

823
00:43:33,160 --> 00:43:36,800
irgendjemand schickt zum 
Beispiel json irgendwas json 

824
00:43:36,800 --> 00:43:39,680
mäßiges. 
Zu zu nem zu nem anderen Client 

825
00:43:39,680 --> 00:43:43,520
beispielsweise beispielsweise 
und der liest aber nur XML ne 

826
00:43:43,520 --> 00:43:45,120
so. 
Damit du aber sagen kannst, OK 

827
00:43:45,600 --> 00:43:49,880
hier von a kann json zu XML nach
B übertragen werden und aber 

828
00:43:49,880 --> 00:43:52,960
gleichzeitig möchte zum Beispiel
aber auch XML von B wiederum zu 

829
00:43:52,960 --> 00:43:55,600
a übertragen werden, dann kannst
du halt so ne Art Tuwaybinding 

830
00:43:55,600 --> 00:43:57,920
beispielsweise machen, weil du 
dann halt eben ne in beide 

831
00:43:57,920 --> 00:44:00,000
Richtungen irgendwie oder in 
vielleicht mehrere Richtungen 

832
00:44:00,000 --> 00:44:03,600
einfach sagen kannst. 
OK, du hast Daten vom, also 

833
00:44:03,600 --> 00:44:07,240
diese diese. 
Formate passen halt in alle 

834
00:44:07,240 --> 00:44:09,280
Richtungen überein, dass du es 
halt sozusagen konvertieren 

835
00:44:09,280 --> 00:44:11,760
kannst. 
Ne und ich glaub am Anfang 

836
00:44:11,760 --> 00:44:14,640
hatten wir auch gesagt Neue, 
also Libraries nutzen, dass du 

837
00:44:14,640 --> 00:44:17,760
halt einfach bestehende 
Libraries, die es gibt, anbinden

838
00:44:17,760 --> 00:44:21,600
kannst und sagen kannst, OK, 
nimm sie auch wenn es gerade 

839
00:44:21,600 --> 00:44:24,200
nicht hundertprozentig passt, 
kannst ja n Adapter nehmen um 

840
00:44:24,200 --> 00:44:26,440
sie halt eben trotzdem zu 
nutzen, um halt eben zum 

841
00:44:26,440 --> 00:44:29,200
Beispiel Libraries nicht noch 
mal neu schreiben zu müssen oder

842
00:44:29,200 --> 00:44:31,360
so ne. 
Ja, oder die, die vielleicht gar

843
00:44:31,360 --> 00:44:33,840
nicht in deiner Hand liegen, ne,
aber du sie einbinden oder noch 

844
00:44:33,840 --> 00:44:36,720
supporten möchtest. 
Ja, das sind richtig klassische 

845
00:44:36,720 --> 00:44:39,680
Beispiele, finde ich. 
Gut, man muss natürlich drüber 

846
00:44:39,680 --> 00:44:44,400
sprechen, wann ist es nicht 
sinnvoll, da hast du ja gesagt, 

847
00:44:45,480 --> 00:44:48,560
Hey A und b passt zusammen 
machen halt das dazwischen, das 

848
00:44:48,560 --> 00:44:52,120
ist natürlich, also wenn 
Kompatibilität herrscht, auch 

849
00:44:52,120 --> 00:44:54,160
wenn man vielleicht die 
Vermutung hat, dass das 

850
00:44:54,160 --> 00:44:58,360
zukünftig nicht mehr so ist. 
You ain gonna need it Prinzip 

851
00:44:58,360 --> 00:45:02,520
ja, yakni mach es nicht, lass es
dann an der Stelle, es ist 

852
00:45:02,520 --> 00:45:06,520
kompatibel, du brauchst keinen 
Adapter gerade, also da ist es 

853
00:45:06,520 --> 00:45:11,720
natürlich nicht sinnvoll. 
Performance kritische Systeme 

854
00:45:11,720 --> 00:45:14,160
könnte man noch nennen, weil ich
ja meinte es kann Overhead 

855
00:45:14,160 --> 00:45:17,560
erzeugen, ist so n bisschen 
schwammig der Punkt aber würde 

856
00:45:17,560 --> 00:45:20,480
ich einfach mal anbringen, weil 
was ist jetzt Performance 

857
00:45:20,480 --> 00:45:23,520
kritisch? 
Ja, also ist es halt die Frage. 

858
00:45:23,520 --> 00:45:26,720
Kann es sein, dass mir das so in
die Suppe spuckt, diesen 

859
00:45:26,720 --> 00:45:29,440
Overhead, den ich erzeuge, dass 
ich es vielleicht so nicht lösen

860
00:45:29,440 --> 00:45:34,680
sollte, krasse Daten ja, zum 
Beispiel ja auch alles, was 

861
00:45:34,680 --> 00:45:37,200
hinsichtlich so Datenübertragung
ist, kann das halt ne Rolle 

862
00:45:37,200 --> 00:45:40,400
spielen und vielleicht nicht 
sinnvoll sein. 

863
00:45:40,400 --> 00:45:43,920
Alles, so sag ich mal kompatibel
zu machen. 

864
00:45:43,920 --> 00:45:46,480
Also nee sag ich mal alles 
verlangsamen auf. 

865
00:45:46,920 --> 00:45:49,840
Zugunsten der Kompatibilität ne.
Und dann muss ich vielleicht n 

866
00:45:49,840 --> 00:45:53,040
anderen Weg gehen um diese 
Kompatibilität herzustellen. 

867
00:45:53,120 --> 00:45:55,520
Ja, auf jeden Fall. 
Fällt dir noch was ein? 

868
00:45:57,200 --> 00:46:00,320
Ja, ich weiß nicht, wenn du halt
weiß, ich kurzlebige Projekte 

869
00:46:00,320 --> 00:46:04,120
hast, vielleicht noch, wo man 
halt eben den Overhead eines 

870
00:46:04,120 --> 00:46:06,400
Adapters vielleicht sich sparen 
kann. 

871
00:46:06,440 --> 00:46:10,720
Ne kennt man ja die guten 
Wegwerf Software, Projekte, 

872
00:46:10,960 --> 00:46:17,120
Projekte. 
Aber das ist auch n guter Punkt.

873
00:46:17,600 --> 00:46:21,960
Hatten wir ja gerade erst vor 
kurzem mit gerade im Studium 

874
00:46:21,960 --> 00:46:23,640
oder so. 
Wenn du so übungsaufgaben hast 

875
00:46:23,640 --> 00:46:26,880
oder so die ne Lebensdauer von 
einem Semester maximal haben, ne

876
00:46:28,400 --> 00:46:31,920
da ist dann halt auch die Frage 
zum Üben ja OK, wenn ich sage 

877
00:46:31,920 --> 00:46:34,800
ich möchte mal n adapterpad dann
verwenden OK verstehen wir wie 

878
00:46:34,800 --> 00:46:37,520
gesagt haben wir auch gemacht. 
Aber halt nicht alles 

879
00:46:37,520 --> 00:46:40,560
vollknallen damit, weil es ist 
manchmal gar nicht notwendig, 

880
00:46:40,560 --> 00:46:44,320
den quasi diese Kompatibilität 
zu gewährleisten. 

881
00:46:44,320 --> 00:46:47,440
Langfristig richtig also so 
kurzlebige Projekte finde ich 

882
00:46:47,440 --> 00:46:50,440
halt auch ganz spannend, dass 
man sagt, da vielleicht jetzt 

883
00:46:50,440 --> 00:46:53,040
noch nicht. 
Richtig, ja. 

884
00:46:53,120 --> 00:46:56,080
Also zusammenfassend können wir 
einfach sagen, Adapter Pattern 

885
00:46:56,080 --> 00:46:59,880
ist mehr oder weniger n 
Übersetzer ne für Systeme die 

886
00:46:59,880 --> 00:47:03,600
eigentlich vielleicht nicht 
unbedingt kompatibel sind und 

887
00:47:03,600 --> 00:47:06,040
sie kompatibel zu machen. 
Wie zum Beispiel? 

888
00:47:06,040 --> 00:47:08,880
Keine Ahnung der ne Controller 
was das Controllerbeispiel was 

889
00:47:08,880 --> 00:47:12,400
wir hatten oder ne hier mit dem 
Steckdose mit der Steckdose ne 

890
00:47:12,480 --> 00:47:15,240
wenn der quasi n anderes oder 
Payment anderes Land reist. 

891
00:47:15,240 --> 00:47:19,120
Payment wie auch immer genau ja 
und ansonsten. 

892
00:47:21,200 --> 00:47:23,280
Ja, Bluetooth Dongle, das ist 
wichtig. 

893
00:47:23,280 --> 00:47:27,520
Noch der ne im Auto mit Autos, 
das sollten wir, der der muss. 

894
00:47:27,560 --> 00:47:29,920
Das ist wirklich n gutes 
Beispiel, weil ich finde, gerade

895
00:47:29,920 --> 00:47:31,840
wenn man, also ich weiß nicht 
wie es bei dir ist, aber wenn 

896
00:47:31,840 --> 00:47:35,200
ich so über Pattern nachdenke, 
ja und jemand sagt so na hier 

897
00:47:35,920 --> 00:47:40,120
Adapter ne, dann denk ich mir so
ha mal was mal wie ging, wie hat

898
00:47:40,120 --> 00:47:42,880
das noch mal funktioniert und 
ich finde, dass mir so reale 

899
00:47:42,880 --> 00:47:46,240
Beispiele immer helfen um wieder
in dieses Grundprinzip zu 

900
00:47:46,240 --> 00:47:49,360
kommen, weil du ja wirklich nur 
Abbilder davon schaffst ne oder 

901
00:47:49,360 --> 00:47:53,000
beziehungsweise sich. 
Prinzipien und Theorien ja, 

902
00:47:53,000 --> 00:47:56,320
wiederholen so und du hast die 
Halt einmal so auf Hardware zum 

903
00:47:56,320 --> 00:48:00,400
Beispiel gemünzt mit so wie du 
meintest dein Bluetooth Adapter 

904
00:48:00,640 --> 00:48:02,840
oder halt auch in der 
Softwareentwicklung selbst oder 

905
00:48:02,840 --> 00:48:05,920
halt n Mix aus beidem. 
In dem Fall ja und da find ich 

906
00:48:05,920 --> 00:48:08,640
hilft mir das immer mir reale 
Beispiele vorzustellen und beim 

907
00:48:08,640 --> 00:48:10,960
Adapter Pattern ist für mich die
Steckdose so n super. 

908
00:48:10,960 --> 00:48:13,680
Geiles Beispiel für mich und 
jetzt auf jeden Fall. 

909
00:48:13,800 --> 00:48:16,240
Dieses Bluetooth Ding. 
Ja OK, sehr gut. 

910
00:48:16,240 --> 00:48:18,080
Ja, aber das ist halt so. 
Ich brauch Strom, ja ich hab 

911
00:48:18,080 --> 00:48:20,320
Strom, aber wir passen nicht 
zusammen, aber dann nehm ich n 

912
00:48:20,320 --> 00:48:22,480
Adapter dazwischen und schon 
sind alle zufrieden. 

913
00:48:22,480 --> 00:48:27,200
So ne ja richtig, das ist schon 
ja OK fabi ich würd sagen kurz 

914
00:48:27,200 --> 00:48:30,160
und schmerzlos nee ganz so kurz 
war es nicht, aber wir sind ganz

915
00:48:30,160 --> 00:48:32,240
gut in der Zeit und trotzdem 
würd ich sagen haben wir es 

916
00:48:32,240 --> 00:48:35,680
ausführlich besprochen, da 
bleibt eigentlich nur noch 1 und

917
00:48:35,680 --> 00:48:37,800
zwar die Frage an dich liebe 
Zuhörer und liebe Zuhörer. 

918
00:48:38,640 --> 00:48:41,520
Welches Adapterproblem hattest 
du denn schon mal im echten 

919
00:48:41,520 --> 00:48:45,280
Leben oder in deinem Leben als 
Entwicklerin oder Entwickler? 

920
00:48:45,440 --> 00:48:49,760
Schreib uns gerne gerade für die
realen Beispiele wären wir sehr 

921
00:48:49,760 --> 00:48:51,960
dankbar, das finden wir mal sehr
interessant. 

922
00:48:51,960 --> 00:48:54,760
Fällt dir noch was Besseres als 
die Steckdose oder den Bluetooth

923
00:48:54,760 --> 00:48:57,280
Dongle ein? 
Dann lass es uns wissen. 

924
00:48:57,280 --> 00:48:58,480
Genau. 
Hat mir auf jeden Fall Spaß 

925
00:48:58,480 --> 00:49:01,120
gemacht. 
Tino und ich hoffe es hat euch 

926
00:49:01,120 --> 00:49:04,640
auf jeden Fall auch gute 
Insights gegeben, auch an dich 

927
00:49:04,640 --> 00:49:08,000
Liebe zur lieber zur wenn du dir
sagst Mensch hier das ist cool, 

928
00:49:08,400 --> 00:49:10,960
zeig doch auch wirklich mal 
gerne irgendwie auf Instagram, 

929
00:49:10,960 --> 00:49:14,120
youtube wie auch immer n paar 
Patterns die wir vielleicht in 

930
00:49:14,120 --> 00:49:16,960
dem kleinen Video verpacken, 
dann schreib uns gerne, sag uns 

931
00:49:16,960 --> 00:49:20,560
gerne Bescheid alle Plattformen.
Sind in den Shownotes verlinkt. 

932
00:49:20,720 --> 00:49:24,240
Wenn du sagst ey, hier war mal 
wieder ne coole Folge, hat Spaß 

933
00:49:24,240 --> 00:49:27,040
gemacht die Coding Buddies, 
denen würde ich gerne auch noch 

934
00:49:27,040 --> 00:49:31,040
mal ne Kleinigkeit, also die 
würde ich gerne supporten, dann 

935
00:49:31,040 --> 00:49:34,560
gibt es auch ebenfalls in den 
Shownotes unten einen Link dafür

936
00:49:34,720 --> 00:49:38,240
und ansonsten würden wir uns 
mega freuen, wenn ihr den 

937
00:49:38,880 --> 00:49:43,040
Podcast bewertet und 
Weiterempfehlt das hilft uns 

938
00:49:43,040 --> 00:49:46,800
natürlich super und bevor wir 
jetzt hier die Folge ausmachen, 

939
00:49:46,800 --> 00:49:50,440
denkt noch dran. 
Das 4 Gewinnturnier unbedingt 

940
00:49:50,440 --> 00:49:53,600
mitmachen wollte dich nur noch 
mal kurz dran erinnern und 

941
00:49:53,600 --> 00:49:57,800
ansonsten Tino Mach's gut, liebe
zura Liebe Zura, bis zur 

942
00:49:57,800 --> 00:50:00,480
nächsten Folge Deine Colin Walz.
Gemeinsam besser.

