Dependency Inversion-один из принципов SOLID:
В проекте есть два класса, которые создают сообщение и отправляют его определенным адресатам.
Для тех, кто только начинает знакомиться с Dependency Inversion, такое определение не понятно. Зато эта тема весьма популярна на собеседование. Попробую объяснить простым языком и легким примером "из жизни".
- Модули верхнего уровня не должны зависеть от модулей нижнего уровня. Оба должны зависеть от абстракции.
- Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.
В проекте есть два класса, которые создают сообщение и отправляют его определенным адресатам.
public class
MessageToMainOffice
{
public void Send()
{
//создаем сообщение для главного офиса и отправляем на заданные адреса
}
}
{
public void Send()
{
//создаем сообщение для главного офиса и отправляем на заданные адреса
}
}