Pregunta ¿Qué patrones de diseño se usan en Spring framework? [cerrado]


¿Qué patrones de diseño se usan en Spring framework?


74
2018-04-16 10:40


origen


Respuestas:


Hay muchos patrones de diseño diferentes utilizados, pero hay algunos más obvios:

  • Proxy: se usa mucho en AOPy Remoting.

  • Singleton: los beans definidos en los archivos de configuración de primavera son únicos por defecto.

  • Método de plantilla: se usa extensamente para tratar el código repetitivo repetitivo (como cerrar conexiones limpiamente, etc.). Por ejemplo JdbcTemplate, JmsTemplate, JpaTemplate.


Actualice los siguientes comentarios: para MVC, es posible que desee leer el Referencia de MVC

Algunos patrones obvios en uso en MVC:

  • Controlador de vista de modelo :-). 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 necesita devolver un nombre de vista lógica, y la selección de vista se deja a un lado por separado ViewResolver. Esto hace que sea más fácil reutilizar los controladores para diferentes tecnologías de visualización.

  • Controlador frontal. Spring proporciona DispatcherServlet para garantizar que se envíe una solicitud entrante a sus controladores.

  • Ver ayuda - Spring tiene una serie de etiquetas JSP personalizadas y macros de velocidad, para ayudar a separar el código de la presentación en las vistas.


56
2018-04-16 10:51



Y, por supuesto, inyección de dependencia, o IoC (inversión de control), que es fundamental para todo el material de BeanFactory / ApplicationContext.


12
2018-04-16 14:14



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.


8
2018-04-30 19:50



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.


5
2018-04-17 15:09



Patrón de Localizador de Servicio - 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.


3
2018-02-14 11:31



Patrón de método de fábrica: BeanFactory para crear una instancia de un objeto Singleton: el tipo de instancia puede ser singleton para un contexto Prototipo: el tipo de instancia puede ser un prototipo. Patrón de generador: también puede definir un método en una clase que será responsable de crear una instancia compleja.


1
2018-06-14 09:36



Observer-Observable: se usa en el mecanismo de evento de ApplicationContext


1
2018-05-01 22:11



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.


0
2017-11-30 16:14



El contenedor de resorte genera objetos de frijol dependiendo del alcance del frijol (singleton, prototipo, etc.). Así que esto parece implementar Patrón abstracto de fábrica. 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.


0
2018-01-21 10:07