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

Приведи примеры шаблонов проектирования

**Singleton** - гарантирует единственный экземпляр класса: ```java public class Singleton { private static Singleton instance; private Singleton() {} public static Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; } } ``` **Factory Method** - делегирует создание объектов подклассам: ```java interface Product {} class ConcreteProduct implements Product {} abstract class Creator { abstract Product factoryMethod(); } class ConcreteCreator extends Creator { Product factoryMethod() { return new ConcreteProduct(); } } ``` **Observer** - уведомляет подписчиков об изменениях: ```java interface Observer { void update(); } class Subject { private List observers = new ArrayList<>(); void addObserver(Observer o) { observers.add(o); } void notifyObservers() { observers.forEach(Observer::update); } } ``` **Decorator** - добавляет функциональность динамически: ```java interface Component { void operation(); } class ConcreteComponent implements Component { public void operation() { /*...*/ } } class Decorator implements Component { private Component component; Decorator(Component c) { this.component = c; } public void operation() { component.operation(); } } ```
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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