Встречается на собеседованиях • сегодня
Какие знаешь реализации паттернов
### Singleton
```java
public class Singleton {
private static Singleton instance;
private Singleton() {}
public static synchronized Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
```
Или через enum (рекомендуемый способ):
```java
public enum Singleton {
INSTANCE;
}
```
### Factory Method
```java
interface Product {}
class ConcreteProductA implements Product {}
class ConcreteProductB implements Product {}
abstract class Creator {
abstract Product createProduct();
}
class ConcreteCreatorA extends Creator {
Product createProduct() { return new ConcreteProductA(); }
}
```
### Observer
```java
interface Observer {
void update(String message);
}
class ConcreteObserver implements Observer {
public void update(String message) {
System.out.println("Received: " + message);
}
}
class Subject {
private List observers = new ArrayList<>();
public void addObserver(Observer o) {
observers.add(o);
}
public void notifyObservers(String message) {
observers.forEach(o -> o.update(message));
}
}
```
### Decorator
```java
interface Component {
void operation();
}
class ConcreteComponent implements Component {
public void operation() {
System.out.println("Basic operation");
}
}
class Decorator implements Component {
private Component component;
public Decorator(Component c) {
this.component = c;
}
public void operation() {
component.operation();
System.out.println("Decorator operation");
}
}
```
### Strategy
```java
interface Strategy {
void execute();
}
class ConcreteStrategyA implements Strategy {
public void execute() {
System.out.println("Strategy A");
}
}
class Context {
private Strategy strategy;
public void setStrategy(Strategy s) {
this.strategy = s;
}
public void executeStrategy() {
strategy.execute();
}
}
```

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