Documente Academic
Documente Profesional
Documente Cultură
PatronesdeArquitectura
MBAPilarStronguilLeturia
Agenda
Introduccin
Patronesdearquitectura
1
09/02/2012
Introduccin
Introduccin
Culeslaconstanteeneldesarrollodel
ft
software? ?
Noimportadondesetrabaje
Noimportaquseestconstruyendo
Noimportalaexperienciaenelusodeun
g
lenguaje
LanicaconstanteeselCAMBIO
2
09/02/2012
Quesunpatrn?
DeacuerdoaMartinFowler
Un"patrn"sedefinecomounaideaqueha
sidotilenuncontextoparticularyque
probablementeseatilenotros
Algoestrictamentedescritoycomnmente
disponible.
Patrndearquitectura
Representanelmsaltoniveldepatrones.
Explicanlaestructurafundamentaldelsistema.
Lospatronesdearquitecturaofrecen
solucionesbienestablecidasaproblemasde
arquitectura.
Proveedescripcionesdeelementosylostipos
derelacionesentreellosenconjuntoconlas
es cc o es de c o puede us se
restriccionesdecmopuedenusarse.
Expresaunesquemaestructuralqueconsiste
desubsistemas,susresponsabilidadese
interrelaciones.
Lospatronesdearquitecturasondeunaescala
mayoralosdediseo.
3
09/02/2012
Patrndediseo
Esunasolucingeneralreusableparaun
problemafrecuenteeneldiseode
ft
software.
Esunadescripcinoplantilladecomoresolver
unproblemaquepuedeserusadaendiferentes
situaciones.
Noesundiseofinalquepuedaser
transformadoencdigo,mssiundiseo
generalquepuedeseradaptadoaunarealidad
concreta.
PatronesdediseoOOtpicamentemuestran
relacioneseinteraccionesentreclasesu
objetos.
Patrndediseo
Unpatrndediseoproporcionaun
esquemapararefinarlossubsistemaso
q p
componentesysusrelacionesenun
software.
Lospatronesseaplicandurantela
elaboracindelosdiagramasde
,
interaccin,aldisearlacolaboracinentre
objetos.
4
09/02/2012
Contenidodeunpatrn
Tienequesersignificativoyfcildememorizar.
Nombre Tpicamenteconstadeunasolapalabraodeuna
frasecorta.
Esunadescripcindelproblema,indicandola
intencindeaplicarelpatrnylosobjetivosa
Problema alcanzarenrelacinalcontexto.
Normalmenteseenunciacomounapregunta.
Sonlasprecondicionessobrelasqueelpatrnes
Contexto
aplicable.
aplicable
Unadescripcindelasprincipalesinfluenciasy
restriccionesycomoellasinteractanocausan
Influencias conflicto.
Debeexplicartambinlaclasedeconcesionesque
debenconsiderarse.
Contenidodeunpatrn
Unadescripcinusandountextoy/ogrficosdecomo
alcanzarlosobjetivos.Debeidentificartantolaestructura
Solucin estticacomoladinmica.
Unasolucincompletaincluyeguasdecomo
implementarlasolucin.
Sonlaspostcondicionesdespusqueelpatrnhasido
Contexto aplicado.
resultante Describequeinfluenciasyrestriccioneshansidoresueltas
yculesno.
Muestralarelacinentreelpatrndescritoyotros.
Patrones
Losotrospuedenserpatronespredecesores,sucesores,
relacionados codependientes oalternativos.
Usos
Aplicacionesconocidasdelpatrnensistemasexistentes.
conocidos
5
09/02/2012
Contenidodeunpatrn
Tambinsepuedeadicionarala
d t i
documentacin:
Ejemplosdeimplementacin.
Racionalidad.
Lossustentostericosquejustificanelpatrn.
Patronesvs.Framework
Unframeworkesunacoleccinorganizada
declasesqueconstituyenundiseo
reutilizableparauntipoespecficode
software.
Esnecesarioadaptarloaunaaplicacinen
particular.
Establecelaarquitecturadelaaplicacin.
Diferenciasconpatrones:
Dif i t
Lospatronessonmsabstractosquelos
frameworks.
Lospatronessonmenosespecializados.
6
09/02/2012
Porquusarpatrones?
Losdiseadoresexpertosmanejanpatrones
t d l l b i
recurrentesdeclasesycolaboraciones
tilesantedeterminadosproblemas.
Lospatronesresuelvenproblemas
concretosycreandiseosOOms
g , y
elegantes,flexiblesyreutilizables.
Reutilizacin de la experiencia
Porquusarpatrones?
Paraproducirsoftwarefcildecambiar.
EstablecerproblemasParejaSolucin.
Ayudaraespecificarinterfaces.
Reutilizarcdigo.
Usardocumentacinestndar.
Permitirquelassolucionesseandescritas
demaneraconcisa,comounacombinacin
depatrones.
7
09/02/2012
PatronesdeArquitectura
Arquitecturadesoftwarey
patrones
Unaarquitecturaorientadaaobjetosbien
t t d tll d t L
estructuradaestllenadepatrones.La
calidaddeunsistemaorientadoaobjetosse
mideporlaatencinquelosdiseadores
hanprestadoalascolaboracionesentresus
objetos.
Lospatronesconducenaarquitecturas
mspequeas,mssimplesyms
comprensibles
G.Booch
8
09/02/2012
Clasificacindelospatronesde
Arquitectura
Sistemas Sistemas
Interactivos Adaptables
ModelView Microkernel
Controller Reflection
Presentation Estructurales
AbstractionControl
Layers
Sistemas p
PipesandFilters
Distribuidos
Blackboard
Broker
PatronesdeArquitectura
Interactivos
9
09/02/2012
PatronesInteractivos
Estospatronesestructuranlas
t ti d i t i h b
caractersticasdeinteraccinhombre
mquina.
Suobjetivoesresaltarlausabilidaddela
aplicacin.
Patronesdeinteraccin
Patrn Problema
Cmosepuedemodularizar la
funcionalidaddelainterfazde
ModeloVista usuariodeunaaplicacinde
Control maneratalquepuedanser
modificadaslaspartes
individuales?
Presentacin
Cmoseconstruirunsistema
Abstraccin
conmltiplespatronesMVC?
Control
10
09/02/2012
Patronesdeinteraccin
Patrn Problema
Comohacermejorlaestructurade
controlparaaplicacionesWebsimples
Controlador
talquesealcancereusabilidady
depginas flexibilidadalmismotiempoqueseevita
duplicacindelcdigo?
Comohacermejorlaestructurade
controlparaaplicacionesWeb
Front moderadamentecomplejastalquese
Controller alcancereusabilidadyflexibilidadal
mismotiempoqueseevitaduplicacin
delcdigo?
PATRONMODELOVISTA
CONTROLADOR(MVC)
11
09/02/2012
PatrnModeloVistaControl
(MVC)
Nombre ModeloVistaControlador
Contexto Aplicacionesinteractivas conunainterfaz
hombremquinaflexible.
Problema Interfacessujetasacambios deformay
contenidos
Solucin Patrn MVC,endonde:
SedesacoplaelModelodelasVistas.
Vistasycontroladoresjuntoscomprendenla
interfazdeusuario.
Unmecanismodepropagacindecambio
aseguralaconsistenciaentrelainterfazde
usuarioyelmodelo.
PatrnModeloVistaControl
(MVC)
Elpatrndivideunaaplicacininteractivaen
trescomponentes
Modelo Tienelafuncionalidadydatos
delncleo.
Vista Muestrainformacindel
usuario.
Controlador Manejalasentradasdelos
usuarios.
12
09/02/2012
PatrnModeloVistaControl
(MVC)
Relacionesdelmodelo
Laslneasslidasindicanunaasociacindirecta,ylas
punteadasunaindirecta(porejemplo,usandounpatrn
PublicarSubscribir).
PatrnMVC
CoreData
Amarillo 43% Hojadeclculo
Rojo 39%
Amarillo 43%
A l
Azul 06%
6%
Verde 10% Rojo 39%
Otros 02% Azul 6%
Verde 10%
PieChart Otros 2%
BarChart 100%
Participacin
13
09/02/2012
PatrnMVC
Elmodelonotificaatodaslasvistaslos
bi id l d t
cambiosacaecidosenlosdatos.
Elmodeloactualizalainformacin
mostradaenlasvistas.
Esposibleintegrarnuevasformasde
mostrarlosdatos.
mostrarlosdatos
PatrnMVC:Estructura
Unaimplementacinorientadaaobjetos,defineunaclase
separadaparacadacomponente.
E C i l b d
EnC++esnecesariouncuatrocomponente:elobservador
14
09/02/2012
PatrnMVC:Estructura
Elcomponentemodelocontienelafuncionalidad
coredelaaplicacin
Clase:Modelo Colaborador
Vista
Responsabilidades: Controlador
Proporcionalafuncionalidad
principaldelaaplicacin
Registralasvistasdependientesy
suscontroladores.
Notificaaloscomponentes
dependientesacercadelos
cambios.
PatrnMVC:Estructura
Elcomponentevistapresentalainformacinal
usuario.
Clase:Vista Colaborador
Controlador
Responsabilidades: Modelo
Creareinicializarsu
controladorasociado.
Muestrainformacinal
usuario.
Implementaelprocedimiento
deupdate.
RecibedatosdesdeelModelo.
15
09/02/2012
PatrnMVC:Estructura
Elcomponentecontroladoraceptalospedidosde
losusuario.
Clase:Controlador Colaborador
Vista
Responsabilidades: Modelo
Aceptalosinputsdelusuarioa
maneradeeventos.
Traduceeventosapedidosde
serviciosparaelmodeloo
muestrapedidosparalavista.
Implementaelprocedimiento
deupdate deserrequerido.
PatrnMVC:Dinmica
EscenarioI:Muestracomouninputdelusuarioque
ocasionancambiosenelmodelo,disparaelmecanismode
propagacindelcambio.
16
09/02/2012
PatrnMVC:Dinmica
EscenarioII:Muestracomoinicializanloscomponentesdel
MVC.Usualmenteestecdigoeslocalizadofueradelatrada
(enunprogramaprincipal,porejemplo).
PatrnMVC:Pasosparasu
Implementacin
1. Separarlainteraccinhombremquinadelas
funcionesdelncleo.
2. Implementarelmecanismodepropagacindel
cambio.
3. Diseareimplementarlasvistas.
4. Diseareimplementarloscontroladores.
5. Diseareimplementarlarelacinvista
controlador.
6.
6 Implementarelsetup delmodeloMVC.
delmodeloMVC
7. Crearvistasdinmicamente.
8. Proveercontrolespluggable.
9. Establecerunainfraestructuraparaunajerarqua
devistasycontroladores.
17
09/02/2012
PatrnMVC:Variantes
DocumentView
Estevarianteesflexibleencuantoala
separacindevistasycontroladores.
EnmuchasplataformasGUI,tantoeldisplay
delosdatoscomolaadministracindelos
eventosessoportadaporunmismo
componente.t
PatrnMVC:Usoscomunes
Smalltalk
MFC
ET++
18
09/02/2012
PatrnMVC:Beneficios
Mltiplesvistasdeunmismomodelo.
Vistassincronizadas
Vistasycontroladoresquesepueden
incorporaroquitarentiempode
ejecucin.
Fcilintercambiodeplataformas(look
andfeel).
Potenciacindelusodeframeworks.
PatrnMVC:Desventajas
Incrementodecomplejidad
E i d d t
Excesivonmerodeupdates.
Conexinntimaentrevistaycontrolador.
Acoplamientodelasvistasycontroladoresal
modelo.
Ineficienciadeaccesoadatos.
Dificultaddeusarelmodeloconalgunas
herramientasdediseodeinterfazdeusuario.
19
09/02/2012
ModeloVistaControl
Utilizapatronesdediseocomo:
Observer(Publish/Suscriber)
Composite
Strategy
Decorator
Factorymethod
PATRNPRESENTACIN
ABSTRACCINCONTROL(PAC)
20
09/02/2012
PresentacinAbstraccinControl
(PAC)
Similaralmodelovistacontrolador(MVC).
PACdefineunaestructuraenlaformade
unajerarquadeagentescooperantes,cada
unodeellosconsistenteenunatradade
presentacin,abstraccinycontrol.
PresentacinAbstraccinControl
(PAC)
Nombre PresentacinAbstraccinControl(PAC)
Desarrollodeunaaplicacin interactivaconla
Contexto
ayudadeagentes.
Unsistema interactivoconmltiplesagentes
cooperantes,endonde:
Losagentesconfrecuenciamantienen su
Problema p p y
propioestadoydatos.
Cadaagenteproporcionasupropiainterfazde
usuario.
Elsistemaevolucionaeneltiempo.
Estructurar elsistemaenunajerarquade
Solucin
agentesPAC(tradas).
21
09/02/2012
PresentacinAbstraccinControl
Losagentes(otradas)secomunicanentres
sloatravsdelcontroldepartedecada
trada.
TambindifieredeMVCenquedentrodecada
trada,seaslaporcompletolapresentacin(vista
enMVC)ylaabstraccin(modeloenMVC),
Estoofrecesepararelmodeloylavista,lo
cul,daalusuariounaexperienciaporcortos
periodos,decmolainterfaz(presentacin)
puedesermostradaantesquelaabstraccin
estcompletamenteinicializada.
PresentacinAbstraccinControl
ElControlesalgosimilaralControladoren
laarquitecturaMVC.Esteprocesaeventos
externosyactualizaelmodelo.Tambinse
actualizadirectamentelapartede
presentacin.
Sinembargo,esdiferentedelcontroladoren
MVCenlamedidaenquestepasaloscambios
queseestnrealizandoasucomponentepadre.
22
09/02/2012
PresentacinAbstraccinControl
LaAbstraccincontienelosdatos,aligual
queenMVC.Sinembargo,puedeserslo
unapartedelaestructuradedatos
completadelaaplicacin,ynodesempear
unpapelactivoenlanotificacinde
cambios.
Lapresentacinesexactamenteigualquela
vistaenelMVC.Muestralainformacin
i t e elMVC M e t l i fo i
desdelaabstraccin.
PresentacinAbstraccinControl
23
09/02/2012
PatrnPAC:Estructura
Clase:ToplevelAgent Colaboradores
I t di t
Intermediate
Responsabilidades:
levelAgent
Proporcionalafuncionalidad
Bottomlevel
nucleardelsistema.
Agent
ControlalajerarquaPAC
PatrnPAC:Estructura
Clase:Intermediatelevel Agent Colaboradores
T l l Agent
Toplevel A t
Responsabilidades:
Bottomlevel
Coordinaconloslowerlevel
Agent
Agents.
Componeloslowerlevel
Agents enunanicaunidad
dealtaabstraccin.
24
09/02/2012
PatrnPAC:Estructura
Clase:Bottomlevel Agent Colaboradores
T l l Agent
Toplevel A t
Responsabilidades:
Intermediate
Proporcionaunavista
level Agent
especficadelsoftwareode
unserviciodesistemas,
incluyendosuinteraccin
hombremquina.
PresentacinAbstraccinControl
25
09/02/2012
PresentacinAbstraccinControl
Elcontrolpadrecrealoselementosdesu
hij PAC l d l
hijoPAC,yaseaenelarranquedel
programa,odinmicamenteentiempode
ejecucin.
CuandoelcontroldeunPACrecibeun
( ),
eventodeusuario(1),estedebeactualizar
supresentacin(2a)y/osuabstraccin(2b).
PresentacinAbstraccinControl
Acontinuacin,seenvauneventodecambioasu
padre(3)
padre(3).
Elpadreactualizasushijos(peronoalnododonde
surgielcambio)(5),porloquetodosactualizan
suPresentacin(6a)y/oabstraccin(6b).
Despusquelosnodoshansidoactualizados,el
padreseactualiza(7).
padreseactualiza(7)
EstoterminacuandotodosloselementosPAC
necesarioshansidoactualizados.
26
09/02/2012
PATRNCONTROLADORDE
PGINA
PageController
27
09/02/2012
Controladordepginas
SetieneunControladordepginaporcada
i l i (f l i )d l iti W b
pginalgica(formulario)delsitioWeb.
Elcontroladorpuedeserlapginaensi
mismacuandoellaestaenelmediode
pginasdelservidoropuedeserunobjeto
p q p p g
separadoquecorrespondeaesapgina
Controladordepginas
Vista
Muestra HTML()
Controlador de paginas
Modelo
Logica Dominio()
28
09/02/2012
Controladordepginas
ElControladordepginaspuedeser:Script
CGI i t l t
CGIscript,servlet.
PginasenelservidorASP,PHP,JSP.
Laspginasenelservidorcombinan
ControladordepginasyPlantilladeVista
(TemplateView)enelmismofichero.
(TemplateView)enelmismofichero
ResponsabilidadesdelControlador
depginas
DecodificarlaURLyextraercualquierdatodel
formularioparaentendertodoslosdatosparala
accin
Creareinvocarcualquierobjetodelmodelopara
procesarlosdatos.Todoslosdatosrelevantesde
lasolicitudHTMLdebenserpasadosalmodelotal
quelosobjetosdelmodelononecesitenninguna
conexinalasolicitudHTML
Determinarcualvistadebemostrarlapgina
resultadoyenviarlainformacindelmodeloaesa
vista
29
09/02/2012
ResponsabilidadesdelControlador
depginas
ElControladordepginasnonecesitaser
l l t d i bj t
unasolaclase,stapuedeinvocarobjetos
deayuda.
Estoesparticularmentetilsivarios
manejadoresnecesitanhacertareas
similares.
PATRNCONTROLADORDE
FACHADA
30
09/02/2012
FrontController
Controladordefachada
(FrontController)
Uncontroladorquemanejatodoslos
i it iti W b
requisitosparaunsitioWeb.
EnunsitioWebcomplejohaymuchascosas
similaresquenecesitanhacerseasolicitud
delmanejadordelsitio.
Estoincluyeseguridad,internacionalizacin,
proveerdedeterminadasvistasaciertos
usuarios,etc.
Estepatrnconsolidaestoenunsolo
objeto.
31
09/02/2012
Controladordefachada
(FrontController)
<<Abstract>>
Handler Comma nd
dog
g et()
() Process()
dop ost()
Concrete Cocrete
Command 1 Command 2
Process() Process()
Elmanejadorpuedellevaracaboel
comportamientocomnquepuedesercambiadoen
tiempodeejecucinporlosdecoradores.
Ejemplo:Java
PatronesdeArquitectura
Estructurales
32
09/02/2012
Patronesestructurales
Dansoporteaunadescomposicin
t l d d t ld l i t
controladadeunatareageneraldelsistema
enunconjuntodesubtareascooperativas.
Patrn Definicin
Ayuda a estructurar aplicaciones
que pueden ser descompuestas en
Layers (Capas) grupos de sub-tareas que
representan diferentes niveles de
abstraccin.
Pipes and Filters Proporciona una estructura para
(Tuberas y sistemas que procesan flujos de
filtros) datos
Es til para problemas en donde no
hay estrategias de solucin
determinadas.
Blackboard
Bajo este patrn varios subsistemas
(Pizarra)
especializados ensamblan su
conocimiento para construir una
solucin parcial o aproximada.
33
09/02/2012
PATRNDECAPAS
Patrndecapas
Nombre Capas(Layers)
Unsistemagrandequerequiere
Contexto
descomposicin
Cmodisearunsistemacuyas
caractersticasdominantessonunamezcla
Problema
defuncionesdealtoybajonivel,dondelas
dealtoniveldependendelasdebajonivel?
Estructurarelsistemaenunnmero
Solucin apropiadodecapasycolocarlasunaencima
delaotra.
34
09/02/2012
LayersPattern
ElmodelodecapasOSI7
Patrndecapas:Influencias
Sedebebalancearlosiguiente:
Lasmodificacionesalcdigonosedeben
propagaratodoelsistema.Sedebenefectuar
enunsolocomponente.
Lasinterfacesdebenserestables.
Laspartesdelsistemadebenser
intercambiables.
Otrossistemaspuedenaccederala
funcionalidaddebajonivel.
35
09/02/2012
Patrndecapas:Estructura
Unacapai,sepuededescribirenunatarjetaCRC
como
Patrndecapas:Estructura
LosserviciosdeunacapaIslopuedenserusados
porlacapaI+1
36
09/02/2012
Patrndecapas:Dinmica
EscenarioI:Unclienteponeun
requerimientoenlacapaN
requerimientoenlacapaN.
DadoquelacapaNnopuederesolverelpedido
porsimisma,llamaalacapaN1yestaasuvez
alacapaN2yassucesivamentehastaalcanzar
lasubtareasenlacapa1.
j q p
Lainformacinbajoesteesquematopdowny y
deflujodecontrolsedenominausualmente
pedidoorequest.
Patrndecapas:Dinmica
EscenarioII:Ilustralacomunicacinbottom
up
up.
Unacadenadeaccionescomienzaenlacapa1,
porejemplocuandoundispositivodetectaun
input.
Eldispositivotraducelaentradaaunformato
y p p ,q
internoyloreportaalacapa2,quelo
interpretayassucesivamente.
Lasllamadasbottomupusualmenteseconocen
comonotificaciones,notifications.
37
09/02/2012
Patrndecapas:Dinmica
EscenarioIII:Describelasituacinendonde
l did l t d i j
lospedidossolamentepuedenviajara
travsdeunsubconjuntodecapas.
Lascapasenesteesquemaretieneninformacin
mientrasquelasdelescenario1 no.
Patrndecapas:Dinmica
EscenarioIV:SimilaralescenarioIII.Un
t d t t l
eventosedetectaenlacapa1,perose
detieneenlacapa3.
Sedaensituacionesendondeunpedidose
puedeestablecerdosvecesyelservidorlo
atendiya.
Enestecasolacapa3impedirquelarespuesta
lleguedosveces.
38
09/02/2012
Patrndecapas:Dinmica
EscenarioV:InvolucradospilasdeNcapasquese
comunicanentresi.
Esteescenarioesmuyconocidoyseempleaen
protocolosdecomunicacin,endondecadapiladecapas
esconocidacomoprotocolstacks.
Patrndecapas:Pasosparasu
Implementacin
1. Definirloscriteriosdeabstraccinparaagrupar
tareasencapas.
Ejemplodecriteriosdeabstraccin:
Elementosvisibles
Mdulosespecficosdelaaplicacin
Niveldeservicioscomunes.
Niveldelainterfazconelsistemaoperativo.
Elsistemaoperativo
Hardware
2. Determinarelnmerodenivelesdeabstraccin
Cadaniveldeabstraccinsecorresponderconuna
capa.
39
09/02/2012
Patrndecapas:Pasosparasu
Implementacin
3. Ponernombreacadacapayasignarlastareas
decadauna.
Latareadelacapamsaltaeslatareageneraldel
sistemapercibidaporelcliente.
4. Especificarlosservicios
Elprincipiodeimplementacinmsimportantees
quelascapasestnseparadaslasunasdelasotras.
Lascapasmsaltassonlasquecontienenmayor
nmerodeservicios.
Patrndecapas:Pasosparasu
Implementacin
5. Refinarlascapas.
Repetirlospasos1al4hastaalcanzaruna
divisindecapasestable.
6. Especificarunainterfazparacadacapa
EstoescuandolacapaIesunacajanegra
paralacapaI+1.Entonceslainterfazse
encargadeofrecerlosserviciosdelacapaI.
40
09/02/2012
Patrndecapas:Pasosparasu
Implementacin
7. Estructurarlascapasindividuales.
p
Unacapacomplejadebeserdescompuestaen
varioscomponentes.
8. Especificarlacomunicacinentrecapas
adyacentes.
Elmecanismomscomneselmodelo
push
Patrndecapas:Pasosparasu
Implementacin
9. Desacoplarlascapasadyacentes.
Esbuenoconservarelacoplamientotop
downanparacomunicacionesbottomupen
dondesepuedeutilizarfuncionescallback
10. Disearunaestrategiademanejode
errores.
Unaregladeoroestratardemanejarlos
erroresenelniveldecapasmsbajo.
41
09/02/2012
Patrndecapas:Ejemplo
ElprotocolocomnmenteusadoTCP/IPutilizael
siguientemodelode4capas.
Patrndecapas:Variantes
RelaxedLayeredSystems
Esunpatrnmenosrestrictivoencuantoalas
relacionesentrecapas.
Aqucadacapapuedenusarlosserviciosde
todaslascapasbajoella.
Lagananciaenflexibilidadyrendimiento
proporcionadaporestossistemasvaen
contradelmantenimiento.
42
09/02/2012
Patrndecapas:Usoscomunes
Mquinasvirtuales.
API
APIs
UnaAPIesunacapaqueencapsulanivelesmsbajos
defuncionalidaddeusofrecuente.
Sistemasdeinformacin
Presentacin
Lgicadelaaplicacin
Dominio
Basededatos.
WindowsNT
Patrndecapas:Beneficios
Reusodecapas
Soportealaestandarizacin
Lasdependenciasseconservan
localmente.
Habilidaddeintercambio.
43
09/02/2012
Patrndecapas:Desventajas
Comportamientoencascada
Menoreficiencia
Trabajoinnecesario
Dificultaddeestablecerlagranularidad
correctadelascapas.
Lecturasrecomendadas
Libros
F.BUSCHMANN,R.MEUNIER,H.ROHNERT,
P.SOMMERLAD,M.STALPatternOriented
SoftwareArchitecture.ASystemofPatterns.
Cap.2
44