DK
Size: a a a
DK
В
Д
ConcreteVC
’ом. То, что ты называешь зависимостью от реализации по сути не является зависимостью, ибо она опциональна. Дефолтная имплементация может быть (при совпадении условий, требуемых ею), либо отсутствовать, тогда реализуй сам этот метод foo().В
Д
В
Д
В
В
Д
ConcreteVC
должен реализовать метод printAll()
ибо того требует протокол AllPrintable
. Дефолтная реализация для протокола PrintingViewController
может предоставить дефолтную реализацию этого метода, если viewModel умеет в Printable
. Если viewModel другого типа - реализуй printAll() как считает нужным самВ
Д
Д
Д
В
В
В
Д
Д