Search
Write a publication
Pull to refresh

Comments 9

Там это, ещё не переборщить бы с этим прокси. Особенно для пет-проектов. А то после 30-го AbstractSingletonProxyFactoryBean энтузиазм обычно уже заканчивается, а проект почти не двигается.

> Недостаток только один и он заключается в том, что прокированный запрос работает явно медленнее. Сложно назвать это недостатком

Суть современного ПО

Странно то, что внешние системы вообще что-то должны знать о базе данных.

Раньше всякие нужные \ не нужные логирования и метрики через аспекты делали. Надо - включил , не надо - выключил. Да и проверки не стандартные можно на аспекты положить. Код конечно становится запутанным, но вот проксировать все - кажется тоже не улучшает структуру кода....

Замечу, что зачастую библиотеки для взаимодействия с внешним миром уже содержат средства для 'проксирования'.

  1. JDBC содержит интерфейс Connection, который вы можете обернуть, добавив свою логику.

  2. Если используете JPA, то можно обернуть EntityManager

  3. Если обрабатываете HTTP запросы, то для этих целей есть фильтры

Спасти себя от последующего «ахтуга» в данной задаче можно, например, если перед формированием запроса, сначала проверять существование таблицы с полученным от пользователя именем.

Проверить видимо тоже SQL запросом, подставив в него полученное от пользователя имя? Отлично)

Может я немного отстал от жизни, AOP уже тоже вышел из моды? Я думал в статье коснутся деталей Spring AOP, AspectJ, java.lang.Proxy, ByteBuddy, а статья о том как добавить кучу boilerplate-а к бизнес коду.

Изолировать бизнес-слой от ввода / вывода нужно в первую очередь для уменьшения зацепления и достижения семантической чистоты.

Это имеет смысл делать в любом проекте, который пилят больше одного человека или который займет больше пары дней.

А всякие там аутентификации, профилирования, журналирования, защита от SQL инъекций и т.д. - это решается либо ситуативно (PreparedStatement), либо фреймворками / аспектами.

автору сего опуса рекомендуется к прочтению что- то по Spring MVC

Sign up to leave a comment.

Articles