Встречается на собеседованиях • сегодня
Должен ли клиентский код зависеть от деталей
Клиентский код не должен зависеть от деталей реализации. Это принцип инверсии зависимостей (DIP) и инкапсуляции. Вместо этого клиент должен зависеть от абстракций (интерфейсов или абстрактных классов). Это упрощает поддержку, тестирование и модификацию кода.
Пример:
java
// Плохо: клиент зависит от конкретной реализации
class Client {
private Database db = new MySQLDatabase(); // жесткая привязка
}
// Хорошо: клиент зависит от абстракции
class Client {
private Database db; // интерфейс
public Client(Database db) { // DI
this.db = db;
}
}
interface Database { /* методы */ }
class MySQLDatabase implements Database {}
class PostgreSQLDatabase implements Database {}
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы