Встречается на собеседованиях • сегодня
Как реализуешь паттерн High Cohesion при Refactoring
High Cohesion означает, что класс или модуль должен выполнять одну узкую задачу, а его методы должны быть тесно связаны с этой задачей.
Пример до рефакторинга:
java
class UserManager {
void saveUser(User user) { /* сохранение в БД */ }
void sendEmail(User user) { /* отправка email */ }
void validateUser(User user) { /* валидация */ }
}Здесь класс выполняет слишком много несвязанных задач.
После рефакторинга:
java
class UserRepository {
void save(User user) { /* только сохранение */ }
}
class EmailService {
void send(User user) { /* только отправка */ }
}
class UserValidator {
boolean isValid(User user) { /* только валидация */ }
}Каждый класс теперь отвечает за одну задачу, что повышает связность (Cohesion).
Ключевые принципы:
- Разделение обязанностей (Single Responsibility).
- Минимизация зависимостей между классами.
- Четкая фокусировка на одной задаче.

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