Какие шаблоны проектирования используются в рамках Spring?

Какие шаблоны проектирования используются в рамках Spring?

Ответ 1

Существует множество различных шаблонов дизайна, но есть несколько очевидных:

  • Прокси - используется в AOP и remoting.

  • Синглтон - beans, определенный в файлах конфигурации spring, по умолчанию - это одиночные списки.

  • Метод шаблона - широко используется для обработки повторяющегося кода шаблона (например, закрытия соединений и т.д.). Например JdbcTemplate, JmsTemplate, JpaTemplate.


Обновить следующие комментарии: для MVC вы можете прочитать Ссылка MVC

Некоторые очевидные шаблоны, используемые в MVC:

  • Model View Controller:-). Преимущество с spring MVC заключается в том, что ваши контроллеры являются POJO, а не сервлетами. Это упрощает тестирование контроллеров. Следует отметить, что контроллер должен только возвращать логическое имя вида, а выбор вида остается отдельным ViewResolver. Это упрощает повторное использование контроллеров для различных технологий просмотра.

  • Front Controller. spring предоставляет DispatcherServlet, чтобы обеспечить отправку входящего запроса на ваши контроллеры.

  • Просмотреть помощник - spring имеет несколько настраиваемых тегов JSP и макросы скорости, чтобы помочь в отделении кода от презентации в представлениях.

Ответ 2

И, конечно, инъекция зависимостей, или IoC (инверсия управления), которая является центральной для всего материала BeanFactory/ApplicationContext.

Ответ 3

Вещество DI на самом деле является своего рода шаблоном стратегии. Всякий раз, когда вы хотите быть какой-то логикой/заменой реализации, вы обычно находите интерфейс и соответствующий метод setter в классе хоста, чтобы связать свою пользовательскую реализацию этого интерфейса.

Ответ 4

Spring представляет собой набор шаблонов API лучшей практики, вы можете написать список покупок, пока ваша рука. Способ разработки API поощряет вас (но не заставляет вас) следовать этим шаблонам, а в половине случаев вы их следуете, не зная, что вы это делаете.

Ответ 5

Шаблон локатора службы - ServiceLocatorFactoryBean хранит информацию обо всех beans в контексте. Когда клиентский код запрашивает услугу (bean) с использованием имени, он просто находит этот bean в контексте и возвращает его. Клиентскому коду не нужно писать spring связанный код, чтобы найти bean.

Ответ 6

Factory Метод patter: BeanFactory для создания экземпляра объекта Singleton: тип экземпляра может быть одноточечным для контекста Прототип: тип экземпляра может быть прототипом. Шаблон Builder: вы также можете определить метод в классе, который будет отвечать за создание сложного экземпляра.

Ответ 7

Наблюдатель-Наблюдаемый: он используется в механизме событий ApplicationContext

Ответ 8

Factory шаблон также используется для загрузки beans через контекст BeanFactory и приложения.

Ответ 9

Spring контейнер генерирует объекты bean в зависимости от области bean (singleton, prototype и т.д.). Таким образом, это выглядит как реализация Абстрактный шаблон Factory. В внутренней реализации Spring я уверен, что каждая область должна быть привязана к определенному классу Factory.