Raus aus dem Vendor-Lock-In
-
Upload
paul-seiffert -
Category
Technology
-
view
1.056 -
download
1
description
Transcript of Raus aus dem Vendor-Lock-In
R A U S A U S D E M V E N D O R - L O C K - I N
PA U L S E I F F E R T | 0 8 . N O V E M B E R 2 0 1 3
S Y M F O N Y L I V E B E R L I N 2 0 1 3
PA U L S E I F F E R T
V E N D O R - L O C K - I N
Grenzen der Bibliotheken
Keine Garantien
Einfluss auf die eigene Architektur
A B E R …
Wiederkehrende Funktionalität
Best Practices
Gekapselte Komplexität
F R Ü H E R …
• “reines” PHP
• keine Frameworks
• Viel Technologie-spezifischer Code
• Stark gekoppelte Komponenten
V E N D O R - L O C K - I N ?✔✔✔
S PÄT E R …
• Struktur durch Framework
• Abstraktion über Technologien
• Libraries teilweise austauschbar
• Vermischte Concerns
• Framework nicht austauschbar
V E N D O R - L O C K - I N ?✔
E S G E H T N O C H B E S S E R !Controller PageRepository
<<Interface>>PageStorage
Symfony / HTTP Application
MySQLPageStorage
MySQLBackend
MySQLConnection
• Das Herzstück der Software ist ein Modell der Domäne
• Frameworks sind Details
• Libraries sind austauschbar durch semantische Abstraktionen
Controller PageRepository
<<Interface>>PageStorage
Symfony / HTTP Application
MySQLPageStorage
MySQLBackend
MySQLConnection
V E N D O R - L O C K - I N ?
X
B E I S P I E L : G U Z Z L E
• HTTP-Client Library
• Viele praktische Features
• Erweiterbar
I N T E G R AT I O N V O N G U Z Z L E
I ) G U Z Z L E - C L I E N T O B J E C T
V E N D O R - L O C K - I N ?✔
I I ) G U Z Z L E - B U N D L E
I I ) G U Z Z L E - B U N D L E
I I ) G U Z Z L E - B U N D L E
V E N D O R - L O C K - I N ?
✔✔
I I I ) E I G E N E S I N T E G R AT I O N S - B U N D L E
Controller <<interface>>Search
GuzzleSearch GuzzleClient
AppBundle
GuzzleSearchBundle
V E N D O R - L O C K - I N ?
✔
I I I ) E I G E N E S I N T E G R AT I O N S - B U N D L E
Controller Search
GuzzleSearchClientGuzzleClient
AppBundle
GuzzleSearchBundle
<<interface>>SearchClient
Application
V E N D O R - L O C K - I N ?
X
S Y M F O N Y- A N W E N D U N G
G U Z Z L E
S Y M F O N Y / H T T P
G U Z Z L E
A P P L I K AT I O N S - L O G I K
G U Z Z L E -S E A R C H
T E S T I N G
S Y M F O N Y / H T T P
G U Z Z L E
A P P L I K AT I O N S - L O G I K
G U Z Z L E -S E A R C H
• Erfindet das Rad nicht neu
• Macht Euch nicht abhängig
• Semantische Abstraktionen
• Dependency Injection
D A N K E S C H Ö N !
https://joind.in/9418
• Eric Evans: Domain-Driven Design
• Vaughn Vernon: Implementing Domain-Driven Design
• Guzzle: guzzlephp.org
L E S E S T O F F
• Lock - http://www.flickr.com/photos/24410855@N07/3172109331/
• Wheel - http://www.flickr.com/photos/72802667@N00/456568753
• Structure - http://www.flickr.com/photos/46271629@N00/2305078608
• Progress - http://www.flickr.com/photos/29312295@N06/4115844000
• Spaghetti - http://www.flickr.com/photos/7897906@N06/8602097091
• United States Capitol - Paul Seiffert
• Gears - http://www.flickr.com/photos/wwarby/4782904694/
• Guzzle - http://www.flickr.com/photos/66969579@N00/451668854
• Questions - http://www.flickr.com/photos/bilal-kamoon/6835060992
P H O T O S