Зависимости между слоями приложения | Внедрение конструктора, время жизни
Продолжаем борьбу за слабую связанность. В предыдущей заметке мы рассмотрели зависимости между слоями приложения, прейдем к меньшим формам.
Агрегация, внедрение конструктора
Объекты/классы системы, как и слои, взаимодействуют друг с другом. Между классами тоже есть зависимости.
Например, в листинге 1 MyService использует MyDataContext (EF) – имеет зависимость MyDataContext.
class MyService
{
public void DoSomething()
{
using(var dbCtx = new MyDataContext())
{
// используем dbCtx
}
}
}
Листинг 1. Сильная зависимость MyService от MyDataContext