¿Qué patrones de diseño se usan en Spring framework?¿Qué patrones de diseño se usan en Spring framework?
Respuesta
hay un montón de diferentes patrones de diseño utilizados, pero hay algunos que son obvios:
Singleton - beans definidos en Spring Los archivos de configuración son singletons por defecto.
Método de la plantilla: se usa ampliamente para tratar el código repetitivo repetitivo (como cerrar las conexiones limpiamente, etc.). Por ejemplo JdbcTemplate, JmsTemplate, JpaTemplate.
Actualización siguientes comentarios: Para MVC, es posible que desee leer el MVC Reference
Algunos patrones obvios en uso en MVC:
Model View Controller :-). La ventaja de Spring MVC es que sus controladores son POJO en lugar de ser servlets. Esto facilita la prueba de los controladores. Una cosa a tener en cuenta es que el controlador solo debe devolver un nombre de vista lógica, y la selección de vista se deja en un ViewResolver por separado. Esto hace que sea más fácil reutilizar los controladores para diferentes tecnologías de visualización.
Front Controller. Spring proporciona DispatcherServlet para garantizar que se envíe una solicitud entrante a sus controladores.
View Helper - Spring tiene una serie de etiquetas personalizadas JSP y macros de velocidad, para ayudar a separar el código de la presentación en las vistas.
Gracias, ¿Cuáles son los patrones de diseño utilizados en el módulo Spring MVC? – Tony
No creo que Spring implemente singleton para los beans. Tenga en cuenta que un bean con ámbito singleton tendrá una sola instancia ** por contexto de aplicación **. Por lo tanto, si su aplicación tiene dos contextos Spring, cargan un mismo bean singleton 'Foo' y recupera la instancia de' Foo' por contexto, obtendrá dos referencias de objetos diferentes. En cambio, el patrón de diseño aplicado aquí es [flyweight] (http://en.wikipedia.org/wiki/Flyweight_pattern) –
@Luiggi Mendoza ¿Quiere decir que la primavera no tiene objetos únicos? por favor explícame con alguna aclaración. –
Y por supuesto la inyección de dependencia, o la COI (inversión de control), que es central en toda la materia BeanFactory/Application Context.
Spring es una colección de patrones API de mejores prácticas, puede escribir una lista de compras de ellos siempre que sea su brazo. La forma en que está diseñada la API lo alienta (pero no lo obliga) a seguir estos patrones, y la mitad del tiempo los sigue sin saber que lo está haciendo.
La cosa DI realmente es algún tipo de patrón de estrategia. Siempre que quiera que se le intercambie cierta lógica/implementación, normalmente encontrará una interfaz y un método setter apropiado en la clase de host para conectar su implementación personalizada de esa interfaz.
El patrón de fábrica también se usa para cargar beans a través de BeanFactory y el contexto de la aplicación.
Patrón de método de fábrica: BeanFactory para crear la instancia de un objeto Singleton: tipo de instancia puede ser singleton para un contexto Prototipo: el tipo de instancia puede ser prototipo. Patrón de generador: también puede definir un método en una clase que será responsable de crear una instancia compleja.
Observador-observable: se utiliza en el mecanismo de eventos de Application Context
contenedor de primavera genera objetos de frijol dependiendo del alcance de frijol (Singleton, prototipo etc ..). Así que esto parece implementar Abstract Factory pattern. En la implementación interna de Spring, estoy seguro de que cada ámbito debe estar vinculado a una clase de clase de fábrica específica.
Patrón de localizador de servicios - ServiceLocatorFactoryBean mantiene información de todos los beans en el contexto. Cuando el código del cliente solicita un servicio (bean) usando el nombre, simplemente localiza ese bean en el contexto y lo devuelve. El código del cliente no necesita escribir el código relacionado con la primavera para ubicar un bean.
- 1. ¿Qué patrones de diseño se usan en Android?
- 2. ¿Patrones de diseño utilizados en .NET Framework?
- 3. Vaadin: Patrones de diseño
- 4. ¿Qué patrones de diseño están subutilizados?
- 5. ¿Qué patrones de diseño/diseño de aplicaciones PHP usa?
- 6. Patrones de diseño incorrectos
- 7. ¿Por qué necesitamos patrones de diseño?
- 8. Patrones de diseño utilizados en WPF
- 9. patrones de diseño
- 10. Patrones de diseño arquitectónico
- 11. Nuevos patrones de diseño/estrategias de diseño
- 12. Patrones de Diseño - Arquitectura astronauta
- 13. ¿Utiliza patrones de diseño?
- 14. patrones de diseño python
- 15. Donde se usan constructores virtuales?
- 16. Eficiencia de los patrones de diseño
- 17. Patrones de diseño de SQL
- 18. transaccional de patrones de diseño
- 19. decorador de patrones de diseño
- 20. Patrones de diseño de mensaje
- 21. Patrones de diseño con C#
- 22. Patrones de diseño para Delphi 2009
- 23. Patrones de diseño vs Marcos
- 24. Patrones de diseño y Scala
- 25. ¿Qué tan importantes son realmente los patrones de diseño?
- 26. Eventos de Spring Framework
- 27. El uso de patrones de diseño en R
- 28. ¿Por qué se usan campos ocultos?
- 29. Diseño patrones: Composite vs. Composición
- 30. Spring Framework name background
Incluye más de 10 patrones que incluyen ..MVC, controlador frontal, Ver ayudante, Singleton, prototipo, fábrica, etc. http://www.javabench.in/2012/02/design-patterns-being-used-in-spring.html –
Patrones de diseño: patrón MVC, patrón de proxy, patrón de fábrica ,, patrón de Singleton, patrón de método de la plantilla, FrontController Pattern, View Helper Pattern, Prototype PatternDI/IOC Pattern. Referencia-http: //javainuse.com/spring/spring-design-patterns – Gordan