[Перевод] Почему я ненавижу Spring
Комментарии (2)
26 июля 2017 в 19:33
+1↑
↓
Я только осваиваю Spring, но по смыслу статьи так ине понял чем он плох (я не защищаю и не осуждаю, я просто не понял) Про аннотации в самой же статье сказали, а про магию — ну извините, это инверсия. В любой инверсии вам придется знать ЧТО именно делает каркас к который вы встраиваетесь — это не магия спринга это магия DI.А вот кривая обучения — да. Примеры на сайте не промасштабированы, нихрена не понятно с первого взгляда, на каком уровне ты работаешь и что именно за тебя делает магия. Вот тут конечно можно было бы поработать.
26 июля 2017 в 20:16
0↑
↓
Я, кажется, превращаюсь в адвоката Spring, но статья и хорошая, и не очень одновременно.Думаю, можно опустить пункты про XML (его ещё кто-то пишет?) и импортирование других файлов, что бы это ни значило. Если речь идёт про размазывание конфигурации по куче jar ов… Ну так и правда делать не нужно :)
Важный пункт это про магию. И тут надо понимать, что если магию перевести в технический термин «уровни абстракции», то вместо иронично-негативного получим чисто субъективное — нравится подход скрытых абстракций и реализаций или нет. Кто-то хочет написать код руками, чтобы избежать магии, кто-то наоборот, предпочтет добавить понятную ему и документированную аннотацию. Поэтому демонизация Spring из-за его магии — это странно. Spring потому и используют, что он магией скрывает все детали реализации.
Но очень хороший совет, и его прямо сложно переоценить — это не включение в свои Api / библиотеки зависимости на Spring. Этого и правда нужно избегать, в идеале код библиотеки вообще не должен знать про Spring. В крайнем случае, можно выделить отдельную библиотеку интеграции. Но это ещё Дядюшка Боб завещал, это не особенность конкретно Spring.
Поэтому отвечая автору «Почему я ненавижу Spring» я бы сказал «Скорее всего, потому что вы не любите уровни абстракции которые не контролируете и предпочитаете им написанный руками boilerplate код».