← Каталог
Внедрение зависимостей (Dependency Injection) — DI-контейнер
Фрагмент из «Внедрение зависимостей (Dependency Injection)»: DI-контейнер.
interface EmailService {
void send(String msg);
}
class SmtpEmailService implements EmailService { ... }
class MockEmailService implements EmailService { ... } // для тестов
class UserService {
private EmailService emailService;
public UserService(EmailService emailService) { // DI
this.emailService = emailService;
}
public void register(User user) {
// ... логика
emailService.send("Welcome!");
}
} interface EmailService {
void send(String msg);
}
class SmtpEmailService implements EmailService { ... }
class MockEmailService implements EmailService { ... } // для тестов
class UserService {
private EmailService emailService;
public UserService(EmailService emailService) { // DI
this.emailService = emailService;
}
public void register(User user) {
// ... логика
emailService.send("Welcome!");
}
}