Веб-фреймворки: чем Play отличается от Spring MVC? [закрыто]

48
задан BlackBeard 13 July 2018 в 10:16
поделиться

1 ответ

Я нахожу заявления обеих сторон о «чистой Java» очень забавными.

Конечно, для проекта нереально использовать абсолютно ничего, кроме java. Тем не менее, ярлык «чистая Java» должен иметь некоторые стандарты, я не думаю, что какая-либо структура подходит.

Игра фактически изменяет семантику языка Java. Это нормально, если это четко указано. Если вы делаете какие-то манипуляции с байт-кодом, просто будьте честны. Обычно это делается с помощью АОП-приема, методы экземпляра украшаются дополнительным поведением, их поведение манифеста - это написано в коде, обычно сохраняется. Это не так сложно принять, мы можем представить, что наш код является подклассом фреймворка, а наши методы переопределены дополнительным поведением.

В Play один статический метод, вызывающий другой статический метод в том же классе, может иметь магические эффекты, а поведение совсем не похоже на вызов метода. Это огромная проблема, если программист Java больше не может быть уверен, что такое вызов статического метода.

Spring — ну, их Java-часть по-прежнему остается чистой Java. Но это так волшебно (от точки зрения java) и так сильно зависит от тяжелого фреймворка, что называть Spring «чистой Java» — это все равно, что называть гамбургер «чистой зеленью», если мы упускаем из виду мясо. Мясо - лучшая часть!

10
ответ дан 26 November 2019 в 19:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: