Встречается на собеседованиях • сегодня

Какие используешь паттерны проектирования

Чаще всего использовал: 1. **Singleton** - для управления конфигурацией или подключением к БД. Пример: ```java public class Database { private static Database instance; private Database() {} public static synchronized Database getInstance() { if (instance == null) { instance = new Database(); } return instance; } } ``` 2. **Factory Method** - для создания объектов без явного указания классов: ```java public interface Payment { void process(); } public class PaymentFactory { public Payment createPayment(String type) { switch(type) { case "credit": return new CreditCardPayment(); case "paypal": return new PayPalPayment(); default: throw new IllegalArgumentException(); } } } ``` 3. **Observer** - в event-driven архитектуре: ```java public interface EventListener { void update(String event); } public class EventManager { private List listeners = new ArrayList<>(); public void subscribe(EventListener listener) { listeners.add(listener); } public void notify(String event) { listeners.forEach(l -> l.update(event)); } } ``` Также применял Decorator, Strategy, Builder в зависимости от задач. Паттерны помогают создавать гибкий и поддерживаемый код.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы