Какие шаблоны проектирования используются в рамках Spring?
Какие шаблоны проектирования используются в рамках Spring?
Ответ 1
Существует множество различных шаблонов дизайна, но есть несколько очевидных:
-
Синглтон - 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.