Встречается на собеседованиях • сегодня
Какие использовал шаблоны проектирования
В Java часто применяют следующие шаблоны проектирования:
1. **Singleton** – гарантирует единственный экземпляр класса:
```java
public class Singleton {
private static Singleton instance;
private Singleton() {}
public static Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
```
2. **Factory Method** – делегирует создание объектов подклассам:
```java
interface Product {}
class ConcreteProduct implements Product {}
abstract class Creator {
abstract Product factoryMethod();
}
```
3. **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); }
}
```
4. **Decorator** – динамически добавляет функциональность:
```java
interface Component { void operation(); }
class Decorator implements Component {
private Component component;
Decorator(Component c) { this.component = c; }
public void operation() { component.operation(); }
}
```
Также часто используют: Strategy, Adapter, Proxy, Builder. Выбор зависит от задачи – например, Singleton для логгеров, Observer для событийных систем.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы