1280. Что такое Dependency Inversion Principle (Принцип инверсии зависимостей)? Dependency Inversion Principle (Принцип инверсии зависимостей) - это принцип SOLID, который гласит, что абстракции не должны зависеть от деталей, а детали должны зависеть от абстракций. То есть, высокоуровневые модули не должны зависеть от низкоуровневых, а должны зависеть от абстракций, которые могут быть реализованы как в низкоуровневых, так и в высокоуровневых модулях. Пример на Java: public interface MessageSender {
void sendMessage(String message);
}
public class EmailMessageSender implements MessageSender {
public void sendMessage(String message) {
// sending email message }
}
public class SmsMessageSender implements MessageSender {
public void sendMessage(String message) {
// sending SMS message }
}
public class NotificationService {
private MessageSender messageSender;
public NotificationService(MessageSender messageSender) {
this.messageSende