Escolar Documentos
Profissional Documentos
Cultura Documentos
.m nome/
.m pro(lema/
.ma solu*o/
Reusa?ilidadeJ
Com&utao 'liente-ser)idorD
et'E
Padres, PEAR e Frameworks PHP
Por que &adres de &ro9eto so
orientados a o?9eto*
Pala)ra-';a)e: reuso
Reso &*o "are"e &e"essar!ame&(e de or!e&(a)*o
a o+?e(os, mas e#a o3ere"e m "o&?&(o de
3errame&(as 2e 3a"!#!(a essa 'r:(!"a8
Padres, PEAR e Frameworks PHP
+uando eu uso os &adres* +uais eu
uso* Como eu uso*
O 'r!me!ro 'asso - !de&(!3!"ar o 'ro+#ema8
De'o!s de,eDse 'es2!sar em m "a(:#o.o de
'adres se e4!s(e ('ro,a,e#me&(e e4!s(e) m 2e
'ossa ser a'#!"ado 'ara o 'ro+#ema em 2es(*o8
-)entualmente: ser@ ne'ess@rio usar )@rios
&adres 9untos &ara resol)er um &ro?lemaE
Padres, PEAR e Frameworks PHP
+uando eu uso os &adres* +uais eu
uso* Como eu uso*
O ma(em:(!"o S(e'$e& Uo#3ram, "r!ador do
so3(ware Mathematica, a3!rma 2e 'ro+#emas
"om'#e4os 'odem ser reso#,!dos 'e#a "om+!&a)*o
de so#)es s!m'#es8
,m &ro?lema sim&les e>i=e uma soluo
sim&lesE
,m &ro?lema 'om&le>o e>i=e a 'om?inao
de )@rias solues sim&lesE
Padres, PEAR e Frameworks PHP
/em sei usar um &adro: quanto mais
)@rios2
Ses 'ro+#emas a"a+aramQ
C;e=ou o no)o e re)olu'ion@rio modo de
usar &adres de &ro9eto &ara solu'ionar
&ro?lemas de software:
FRA1-F!RG
Dispon4vel em vrias linguagens de programa*o
com mais de uma op*o para cada5
Padres, PEAR e Frameworks PHP
Como a&renderemos &adres
A e4'er!%&"!a mos(ro a(ra,-s das d-"adas, 2e
o me#$or modo de a're&der a 'ro.ramar -
'ro.rama&do8
Com ?ase nesse 'aso de su'esso: iremos
a&render &adres de &ro9eto )endo sua
im&lementao dentro de um %ra$e&or'E
Padres, PEAR e Frameworks PHP
1as o que um framework*
6 um con7unto de classes cooperantes +ue
constroem um pro7eto reutili,vel para uma
espec4fica classe de soft8are
.m frame8or9 t4pico cont:m vrios padres de
pro7eto mas a rec4proca nunca : verdadeira.
;rame8or9s podem ser materiali,ados em c<digo
mas apenas e"emplos de padres de pro7eto
podem ser materiali,ados em c<digo.
=amma 1>??@2
Padres, PEAR e Frameworks PHP
- &ra que ser)e um framework*
Para d!m!&!r "s(os e (em'o de (re!&ame&(o 'ara &o,os
!&.ressa&(es &as e2!'es de dese&,o#,!me&(o, .ra)as aos
"om'o&e&(es re(!#!1:,e!sJ
Para a (oma(!1ar de (are3as re'e(!(!,as, d!m!&!&do o es3or)o do
dese&,o#,!me&(oJ
Para s e'arar as "amadas de a'rese&(a)*o e #H.!"a, 'erm!(!&do o
dese&,o#,!me&(o s!m#(I&eo 'or e2!'es d!s(!&(asJ
Para 3 a"!#!(ar a do"me&(a)*o dos s!s(emas dese&,o#,!dos, o 2e
"o&(r!+! 'ara a 3a"!#!dade de ma&(e&)*oJ
Para 3a"!#!(ar a .era)*o de (es(es a(oma(!1ados, o 2e "o&(r!+!
'ara a .ara&(!a de 2a#!dade do 'rod(o8
Padres, PEAR e Frameworks PHP
+ual framework utili<aremos*
Gamma (ASS>) e&&"!a a#.mas "ara"(erCs(!"as
!m'or(a&(es 'ara m frame8or9L
In)erso de ControleL O frame8or9 "$ama se
"Hd!.o, ao !&,-s de se "Hd!.o "$amar s+D
ro(!&as8 Isso o+r!.a o 'ro.ramador a es"re,er
o'era)es "om &omes e "o&,e&)es de "$amada
?: es'e"!3!"adas, 'or-m !sso red1 as de"!ses de
'ro?e(o 0 ?: e4!s(e m &adro de &omesQ
Padres, PEAR e Frameworks PHP
+ual framework utili<aremos*
Fle>A)el e e>tensA)elL A ar2!(e(ra de,e
3&"!o&ar 'ara (odas as a'#!"a)es do domC&!o8
A'o&lamento fra'oL Pe2e&as mda&)as &o
frame8or9 &*o 'odem .erar .ra&des
re'er"sses &a a'#!"a)*o8
Padres, PEAR e Frameworks PHP
+ual framework utili<aremos*
A#-m d!sso, (emos a#.&s 'ro+#emas &o m&do
P8PL
16CD
.in=letonD
Front ControllerD
Pa=e ControllerE
Padres, PEAR e Frameworks PHP
16C J 1odel 6iew Controller
Padres, PEAR e Frameworks PHP
.in=leton
1onte2 3amma 456667
Padres, PEAR e Frameworks PHP
Front Controller
1onte2 1o8ler 456697
Padres, PEAR e Frameworks PHP
Pa=e Controller
1onte2 1o8ler 456697
Padres, PEAR e Frameworks PHP
Arquitetura Ieral Hend Framework
Padres, PEAR e Frameworks PHP
Arquitetura Ieral Hend Framework
Padres, PEAR e Frameworks PHP
Re%er(n!ias )ib*iogr+%i!as
Fowler: 18 Padres de Pro7eto de Aplica*es
'orporativas8 Por(o A#e.re8 Bookma&, 566Y8
Freeman: -E e Freeman: -E .se a 'a(e*a5 Padres de
Pro7etos8 R!o de 9a&e!ro8 A#(aBooks, 566>8
Iamma: -E et alliE Padres de Pro7etoB #olu*es
Ceutili,veis de #oft8are !rientado a !(7etos8 Por(o
A#e.re8 Bookma&, 56668
1artin: 4E e !dell: 4E 4E Anlise e Pro7eto !rientados a
!(7eto8 S*o Pa#o8 Makro& Books, ASS>8
$(('LZZ3ramework81e&d8"om