Назад к вопросам
СБЕР
Senior
9
Расскажите про паттерны проектирования, которые использовали в проекте
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В проектах на Java часто использую следующие паттерны проектирования:
- Singleton — для создания единственного экземпляра класса, например, для менеджера конфигураций или пула соединений.
- Factory Method — для создания объектов без жесткой привязки к конкретным классам, что облегчает расширяемость.
- Builder — для удобного и безопасного построения сложных объектов с множеством параметров.
- Decorator — для динамического добавления функциональности объектам без изменения их кода.
- Observer — для реализации событийной модели, например, при подписке на изменения состояния.
- Strategy — для выбора алгоритма поведения во время выполнения.
Пример использования Builder для создания объекта:
public class User {
private String name;
private int age;
private User(Builder builder) {
this.name = builder.name;
this.age = builder.age;
}
public static class Builder {
private String name;
private int age;
public Builder setName(String name) {
this.name = name;
return this;
}
public Builder setAge(int age) {
this.age = age;
return this;
}
public User build() {
return new User(this);
}
}
}
// Использование:
User user = new User.Builder()
.setName("Иван")
.setAge(30)
.build();