Documentos de Académico
Documentos de Profesional
Documentos de Cultura
J.BaltasarGarcaPerezSchofield GrupoIMOSI1
Empleodepatrones
Patronesdediseo=RAD?
Cundoutilizarpatrones?
Lospatronesdediseo,comosunombreindica,se aplicanenlafasedediseo.Estoimplicaque:
Tiposdepatrones
Creacin
Estructurales
Comportamiento
Referencias:
http://www.dofactory.com/patterns/ Gamma,etal.(2003).Patronesdediseo.AddisonWesley.
Enumeracindepatrones
Acontinuacin,seexponenvariospatrones. Sonunaseleccindelospatronesreales,ennmero mayordelexpuestoaqu.
Patronesdecreacin
AbstractFactory
B * ptrb = new B;
AbstractFactory
Laclasecliente("Client"), seleccionalaclasefactora concretaenelmomentode lacreacin. Sloguardaunareferencia alaclasebaseabstractade ProductAyProductB. DeestaformaelClientey losproductosson totalmenteindependientes.
AbstractFactory
Prototype
Prototype
Elcliente("Client"), enlugardecrear objetos,clonaotros yacreados. Ntesequeclone() debeserunmtodo polimrfico,porlo quenoser necesarioconocer exctamenteal objeto.
Singleton
Singleton
Patronesestructurales
Adapter
Adapter
Elcliente ("Client"),se comunicaconla claseadaptadora queactade intermediaria,en lugardeconla claseque realmente proporcionala funcionalidad ("Adaptee").
Bridge
Bridge
Enelejemplo, existenvarias implementaciones distintasparaun mtododado (ConcreteImplemen torAy ConcreteImplement orB). Setratadeseparar diferentesaspectos.
Bridge
Unejemplobastantetpicoseraeldesepararel aspectodepersistenciadeunajerarquadeclases. Mientrasenlapropiajerarquasloseimplementa lafuncionalidaddeestasclases,enotra, relacionada,comoyahemosvisto,seimplementasu representacinendisco. Enalgnmomentosernecesarioenlazarlaclase adecuada,demaneraquesernecesariocrearla clasedepersistenciaadecuadaparacadaunadelas casedefuncionalidad.
Facade
Laclasefachada seinterpone entreelcliente (nomostrado)y elsubsistema queproporcione lafuncionalidad deseada. Facade simplificala interfazdel subsistema.
Facade
Patronesdecomportamiento
Chainofresponsibility
Chainofresponsibility
Chainofresponsibility
Unejemplotpicopodraserellanzaruntrabajode impresin.Elclientenosabesiquieraqu impresorasestninstaladasenelsistema, smplementelanzaeltrabajoalacadenadeobjetos querepresentanalasimpresoras.Cadaunodeellos lodejapasar,hastaquealguno,finalmentelo ejecuta. Hayundesacoplamientoevidenteentreelobjeto quelanzaeltrabajo(elcliente)yelquelorealiza (servidor).
Iterator
Iterator
Observer
Setratadepodernotificardeuncambioavarios objetos. Alfinyalcabo,esunamaneradeestableceruna relacindeunoamuchos. Unejemploclaropuedeencontrarsecuando, teniendoabiertasdosventanasdeexploracinsobre unmismodirectorio,desdeunadeellasborramos unarchivo,ylasegundaseactualiza automticamente.Podrandefinirseambos exploradorescomodosobservadoresdelsistemade ficheros.
Observer