The document provides an overview of software architecture principles and design patterns for planning flexible and extensible systems. It discusses concepts like loose coupling, high cohesion, the Law of Demeter, and dependency injection. Specific patterns and practices are explained for managing dependencies, configuring components, signaling events, and testing code. The document emphasizes writing code that is readable, maintainable, and adaptable to unknown future needs.
2. project founder of TYPO3 Flow
and TYPO3 Neos
co-founder of the TYPO3 Association
software architect at TechDivision
37 years old
lives in Lübeck, Germany
1 wife, 2 daughters, 1 espresso machine
likes drumming
!
7. Law of Demeter
-each unit should have only limited knowledge about other
units: only units "closely" related to the current unit.
-each unit should only talk to its friends; don't talk to
strangers.
-only talk to your immediate friends.
50. TP 3 lwCd gGi l e o o e a e
YO F
o o i u e ns n n p g
n
di
N m sae t twt vno nm
a epc s r i edr a e
as h
fl w d y akg ky nm ) n
o o e b pcae e (a e ad
l
sbata nee
upr s edd
s
O e s s t et e le
n ue t e n pri .
am
n
O e s s t et e nm sae
n ue t e n pr a epc.
am
Odrt e eta hbtay
re s t ns l ae cl.
am
p
il
D n iprnm sae ul s o
o' m ot a epcs n s yu
t
e
ue hm
s te .
N e pyi bten oCm et
o m t le e e D co m n
n
w
ad l sm m e vr r e o.
n c s e br a o m t d
a,
h
Ue a t . pi ads i i
s @vra O t nl ecp o
g
o
rtn
g e ite ito m n le
osn h fscm eti
r
n
fl w d y b n cm eti .
o o e b a l k o m n le
l
a
n
Pe re te a epcsul s
r e r a v nm sae,n s
f li
e
Fl Q afd a epc im r
uy uli N m saes oe
l
i
e
r db
e al
a e
<pp
?h
n m s a e Ametakg ;
a e p c ceTsPcae
/
*
*Ti srp blnst teTP3Fo pcae" ceTsPcae .
hs cit eog o h YO lw akg Am.etakg "
*
*I i fe sfwr;yucnrdsrbt i ado mdf i udr
t s re otae o a eitiue t n/r oiy t ne
*tetrso teGUGnrlPbi Lcne ete vrin3o te
h em f h N eea ulc ies, ihr eso
f h
*Lcne o (tyu oto)ayltrvrin
ies, r a or pin n ae eso.
*
*TeTP3poet-isiigpol t sae
h YO rjc
nprn epe o hr!
*
*
*
*
*
*
*
*
*
*
/
Cpue h j o cd g s o
atr teo foi a yu
y
n
c a ecln w b o t n.
r t xeet e sl i s
ee
l
uo
Ej cd gEj F w
n y oi .n y l .
o
n
o o
u e AmetakgevcoGnrtr
s ceTsPcaeSrieFoeeao ;
u e TP3Fonoain a Fo;
s YOlwAnttos s lw
/*
*
*Hr ge tedsrpino tecas I sol epanwa temi
ee os h ecito f h ls. t hud xli ht h an
*proeo ti casi..
ups f hs ls s.
*
*@ l w S o e ”igeo”
F o c p (snltn )
*
/
c a s UiesAaye e t n s BsCasi p e e t SmItrae {
l s nvrenlzr x e d aels m l m n s oenefc
/*
*
*Sm ijce dpnec
oe netd eedny
*
*@ l w I j c
Fonet
*@ a Foeeao
v r oGnrtr
*
/
p o e t d $oeeedny= N L ;
r t c e smDpnec
UL
/*
*
*Sosi yuaeadce t TP3Fo
hw f o r ditd o YO lw
*
*@ a boen
v r ola
*
/
s a i p o e t d $ditdolw = T U ;
t t c r t c e adceTFo
RE
Dsr t n fh c s M k ia
ecpi o te l s aet s
io
a.
l g s eddf lr t ep i
o a nee, ef e o xln
n
e e
a
hwt uet
o o si
.
U pr m l s c s nm .l s
peC e ae l s a eC s
a C
a
a
nm s hu b nus
a e sol e on.
d
I ohr akgsipr
n te pcae, ot
m
c e et cae n e enl e
Am s akg i r Aa zr
T P
Uvs
y
ad e rot s n esAa e
n r e t ia U i r nl r
f
v e y.
L t l bfr ohras
i @F w* e e te t :
s
o
o
g
@vr aa , e r, ho s
a @prm @r un@trw ,
,
t
@ai i e@dpeae
p @s c, er t
, n
c d
http://rlmk.me/flowcgl
/*
*
*Sosi yuae afno TP3Fo
hw f o r
a f YO lw
*
*@ a boen
v r ola
*
/
p o e t d $aO Fo ;
r t c e fnflw
/*
*
*Agetmto wihsoshwt idn cnrlsrcue.
ra ehd hc hw o o net oto tutrs
Dsr t n fh m to. aet
ecpi o te e dM k i
io
h
a l g s edd
so a nee.
n
M to nm s hu b vrs
e d a e sol e eb.
h
d