Programación en Base a Patrones
Business Delegate <ul><li>Utilizamos un Business Delegate para reducir el acoplamiento entre los clientes de la capa de pr...
<ul><li>El  Business Delegate  actúa como una abstracción de negocio del lado del cliente; proporciona una abstracción par...
Business Delegate
Business Delegate
Service Locator <ul><ul><li>Disponer de un mecanismo genérico que permita obtener y cachear referencias a interfaces Home ...
Service Locator <ul><li>Obtener una referencia a un interfaz Home tiene cierto coste computacional asociado, especialmente...
Service Locator
Service Locator
Transfer Object <ul><li>Problema </li></ul><ul><ul><li>Se desean transferir múltiples elementos de datos a través de capas...
Singleton (GOF) <ul><li>El patrón de diseño  singleton  (instancia única) está diseñado para restringir la creación de obj...
Singleton (GOF) <ul><li>Las situaciones más habituales de aplicación de este patrón son aquellas en las que dicha clase co...
Upcoming SlideShare
Loading in …5
×

Clase 19 programación en base a patrones

1,198 views
1,116 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,198
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Clase 19 programación en base a patrones

  1. 1. Programación en Base a Patrones
  2. 2. Business Delegate <ul><li>Utilizamos un Business Delegate para reducir el acoplamiento entre los clientes de la capa de presentación y los servicios de negocio. El Business Delegate oculta los detalles de la implementación del servicio de negocio, como los detalles de búsqueda y acceso de la arquitectura EJB. </li></ul>
  3. 3. <ul><li>El  Business Delegate  actúa como una abstracción de negocio del lado del cliente; proporciona una abstracción para, y por lo tanto oculta, la implementación de los servicios del negocio. Utilizando  Business Delegate  se reduce el acoplamiento entre los clientes de la capa de presentación y los servicios de negocio del sistema. Dependiendo de la estrategia de implementación,  Business Delegate  podría aislar a los clientes de la posible volatilidad en la implementación del API de los servicios de negocio. Potencialmente, esto reduce el número de cambios que se deben hacer en el código de cliente de la capa de presentación cuando cambie el API del servicio de negocio o su implementación subyacente. </li></ul>Business Delegate
  4. 4. Business Delegate
  5. 5. Business Delegate
  6. 6. Service Locator <ul><ul><li>Disponer de un mecanismo genérico que permita obtener y cachear referencias a interfaces Home </li></ul></ul><ul><li>Motivación </li></ul><ul><ul><li>En MiniBank, cada vez que AccountFacadeEJB tiene que </li></ul></ul><ul><ul><li>obtener referencias a interfaces Home locales sería preciso </li></ul></ul><ul><ul><li>escribir código del estilo : </li></ul></ul><ul><ul><li>InitialContext initialContext = new InitialContext(); </li></ul></ul><ul><ul><li>AccountLocalHome accountLocalHome = (AccountLocalHome) </li></ul></ul><ul><ul><li>initialContext.lookup(“java:comp/env/ejb/AccountLocalHome”); </li></ul></ul>
  7. 7. Service Locator <ul><li>Obtener una referencia a un interfaz Home tiene cierto coste computacional asociado, especialmente cuando el servicio de nombres está en otra máquina (ej.: la obtención de referencias a AccountFacadeHome que causan los EJBAccountFacadeDelegate) </li></ul><ul><li>Cuando la capa cliente es una aplicación standalone o un servidor de aplicaciones web en el que no se puede hacer uso de ejb-ref en web.xml, el contexto inicial ha de crearse con el constructor InitialContext(Properties) </li></ul><ul><li>Las propiedades dependen del servidor de nombres usado. </li></ul>
  8. 8. Service Locator
  9. 9. Service Locator
  10. 10. Transfer Object <ul><li>Problema </li></ul><ul><ul><li>Se desean transferir múltiples elementos de datos a través de capas. </li></ul></ul><ul><li>Características </li></ul><ul><ul><li>Se desean accesar datos a través de capas para recuperar o almacenar información. </li></ul></ul><ul><ul><li>Reducir el número de operaciones/peticiones a través de la red </li></ul></ul><ul><ul><li>Reducir el tráfico de red </li></ul></ul><ul><li>  Solución </li></ul><ul><ul><li>Usar un Transfer Object para llevar múltiples elementos a través de una capa. </li></ul></ul>
  11. 11. Singleton (GOF) <ul><li>El patrón de diseño  singleton  (instancia única) está diseñado para restringir la creación de objetos pertenecientes a una clase o el valor de un tipo a un único objeto. </li></ul><ul><li>Su intención consiste en garantizar que una clase sólo tenga una instancia y proporcionar un punto de acceso global a ella. </li></ul><ul><li>El patrón  singleton  se implementa creando en nuestra clase un método que crea una instancia del objeto sólo si todavía no existe alguna. Para asegurar que la clase no puede ser instanciada nuevamente se regula el alcance del constructor (con atributos como protegido o privado). </li></ul>
  12. 12. Singleton (GOF) <ul><li>Las situaciones más habituales de aplicación de este patrón son aquellas en las que dicha clase controla el acceso a un recurso físico único (como puede ser el ratón o un archivo abierto en modo exclusivo) o cuando cierto tipo de datos debe estar disponible para todos los demás objetos de la aplicación. </li></ul><ul><li>El patrón  singleton  provee una única instancia global gracias a que: </li></ul><ul><ul><li>La propia clase es responsable de crear la única instancia. </li></ul></ul><ul><ul><li>Permite el acceso global a dicha instancia mediante un método de clase. </li></ul></ul><ul><ul><li>Declara el constructor de clase como privado para que no sea instanciable directamente. </li></ul></ul>

×