Объясни, какие паттерны проектирования Spring Boot использует внутри.
На собеседовании обычно проверяют не то, знаешь ли ты названия паттернов.
Скорее хотят понять, понимаешь ли ты, как Spring Boot архитектурно на них построен.
1. Singleton
Spring Boot бины по умолчанию singleton.
Когда ты помечаешь класс
Что можно сказать:
"Все Spring-бины по умолчанию singleton, если явно не указать другой scope, например
2. Proxy
Spring AOP (аспектно-ориентированное программирование) работает через прокси.
3. Observer
Система событий Spring это Observer в чистом виде.
4. Factory
Spring везде использует фабрики.
Ты объявляешь бин, а Spring решает, когда и как его создать.
5. Builder
Используется в клиентах вроде
6. Template Method
Очень активно используется в
Что можно сказать:
"Мне не нужно париться про управление соединением и обработку исключений. Это делает шаблон, а я просто подставляю свою конкретную логику."
👉 Java Portal
На собеседовании обычно проверяют не то, знаешь ли ты названия паттернов.
Скорее хотят понять, понимаешь ли ты, как Spring Boot архитектурно на них построен.
1. Singleton
Spring Boot бины по умолчанию singleton.
Когда ты помечаешь класс
@Component, @Service или @Repository, Spring по дефолту создаёт один инстанс.Что можно сказать:
"Все Spring-бины по умолчанию singleton, если явно не указать другой scope, например
@RequestScope. Это экономит память и держит объектный граф консистентным и разделяемым."2. Proxy
Spring AOP (аспектно-ориентированное программирование) работает через прокси.
3. Observer
Система событий Spring это Observer в чистом виде.
4. Factory
Spring везде использует фабрики.
BeanFactory, ApplicationContext, FactoryBean.Ты объявляешь бин, а Spring решает, когда и как его создать.
5. Builder
Используется в клиентах вроде
RestTemplateBuilder, WebClient.Builder.6. Template Method
Очень активно используется в
JdbcTemplate, RestTemplate и т.д.Что можно сказать:
"Мне не нужно париться про управление соединением и обработку исключений. Это делает шаблон, а я просто подставляю свою конкретную логику."
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9