Почему нельзя было обойтись одним промежуточным слоем?
https://github.com/dotnet/standard/blob/master/docs/history/evolution-of-design-time-assemblies.md
Допустим, что мы хотим изобразить .dll-ку, которая реализует функции и выставлет некоторый API.
Ну ок, берём и делаем просто .dll-ку.
Первое усложнение: сменилась версия интерфейса и теперь нужно два уровня и три dll-ки:
— две с разными интерфейсами и одна с реализацией.
А зачем делать ещё два уровня?
Мне кажется, что вы такой же хейтер как и я.
Жду пока кто-то придёт и скажет, что я был не прав, слоя там всего два,
это просто картинки неудачные, а четыре вида dll-ок, это для "ясности".
У меня как раз ясности никак не наступает.