Re[4]: Broken diamond
От: fmiracle  
Дата: 20.10.16 11:46
Оценка:
Здравствуйте, Qbit86, Вы писали:

F>>Да никак.

Q>Тогда я бы не называл это «удачный пример такой разбивки». Это огромная дыра.
F>>JS же весь динамический, потому и спокойно будут передаваться работать оба типа.
Q>Только если автор Qux в своём классе переименует поля/свойства и изменит сигнатуры методов, то получим ошибку в рантайме, правильно?

Ну да, я же дальше написал, что в этом случае — ошибка возможна.

Огромность дыры вещь относительная.
По крайней мере дыра проявляется только если библиотеки явно взаимодействуют друг с другом через наше приложение. Если же библиотека использует какую-то зависимость для своих внутренних дел — ни малейшей проблемы нет.

Текущий вариант nuget, как я вижу, может привести к ошибке именно в этом случае, если использование зависимости инкапсулировано в библиотеке и не покидает ее пределов. Потому что ее вдруг заставляют работаь с более новой версией зависимой сборки
Такая дыра мне кажется куда как более возможна, а главное, менее очевидна, чем описанный тобой случай.

С другой стороны, это в ноде случай передачи между библиотеками объекта, структура которого сильно важна — редкость. В .net, пожалуй, такая проблема действительно будет гораздо серьезнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.