Pull to refresh

Comments 12

пользуюсь Spring и частично доволен его функционалом, но пора бы попробовать что-то и свое


С этого обычно начинаются все проблемы.

Ты бы хотя бы изъяснил свою мысль: чем тебя не устраивает Spring и чего ты конкретно хочешь добиться своей реализацией. А то получается, ты просто наговнакодил и вывалил это людям. Думаешь, кому — то это нужно?
Соглашусь с Вами — чего только стоило реализовать нечто подобное в «некачественной обертке». Но, проект забрасывать не собираюсь — все еще впереди. И не в том плане что что-то не устраивает в Spring.
Честно говоря тоже считаю презентацию api вашего ДИ бесполезной.
Однако интересно как реализовано сканирование по пакетам, если укажете класс в исходниках, то я с удовольствием его взгляну. Ваши аннотации в чужих джарниках будут искаться?
Класс org.di.factories.DependencyFactory#instantiateDefinitions.
Да будут — такая же схема инициализации как из примера выше.

Совсем недавно была статья по этому поводу: "Реализация Spring Framework API с нуля. Пошаговое руководство для начинающих. Часть 1", (https://habr.com/post/419679/) с разбором как оно работаем и примером кода, а-ля свой упрощенный спринг.
А по поводу своего велосипеда из этой статьи, в первую очередь бросаются в глаза аннотации. Что помешало взять JSR-330 и реализовать тот же @ Inject & компанию? если уж спринговые не нравятся....

1) А Вы здесь заметили копирование структуры и функционала классов, как в топике, который Вы сбросили?
2) Извините, при чем тут Spring?
3) Аннотации — да, может было бы лучше. Возможно добавлю поддержку в след. решизе

Нет, я там заметил описание кода реализации сканирования по пакетам, в примере самописного (упрощенного) IoC и подумал, что PqDn это может быть интересно.
А на спринг вы местами сами ссылаетесь в тексте. И взять какое то промышленное решение и сделать более удобную для себя имплементацию, сохраняя частичную привычность использования и понимания, имхо более правильный подход, чем увековечивание своего "имени" в паблик апи аннотаций)))

Из названия и начала статьи подумал, что здесь шаг за шагом на пальцах объяснят, как написать свой DI. Но нет, оказалось просто демо очередной библиотеки.
Да, Вы верно подметили — с названием топика произошло фиаско, если же Вы хотите понять как все работает — прошу посмотреть исходники, каждый класс хорошо документирован
Всё правильно делаешь. Не гляди на окружающих, переизобретай мир заново. Возможно, это будет не продакшен версия, но зато ты будешь понимать суть происходящего в сто раз лучше всех, кто тут кричит «не нужно» и потом использует Spring как какую-то особую магию, расставляя аннотации полным перебором вариантов.

Напиши, пожалуйста, о внутренностях своего фреймворка, с какими задачами ты встречался, и как их удалось решить. Это будет полезно.
Спасибо за небольшую ремарку, принял пожелания. Как буду за рабочей станцией, обновлю топик
Sign up to leave a comment.

Articles