Я нахожусь на начальных этапах проекта Blackberry/J2ME - и наряду с другими ограничениями, которые приходят с этой замечательной платформой, отсутствие поддержки для размышлений и уровень 1,3 уровня означает, что подавляющее большинство существующих контейнеров IoC непригодны для использования , (Google имеет Guice для Android без AOP, но даже это требует поддержки аннотаций).Охота на J2ME-дружественный контейнер IoC включен!
Таким образом, пространство контейнеров IoC на J2ME довольно ограничено. Единственная структура, которая привлекла мое внимание, называется Signal Framework, и это выглядит довольно многообещающе. Он пытается оставаться концептуально близким к IoC Spring Framework, реализуя небольшое подмножество его функциональных возможностей, и делает это, не полагаясь на модификацию байт-кода или на выполнение разбора xml-времени выполнения. Вместо этого он обрабатывает конфигурационные XML-файлы во время сборки для создания Java-кода, который реализует эту функциональность IoC.
Вообще говоря, генерация кода во время сборки кажется очень мудрым подходом к мобильным приложениям - и если мое приложение должно делать меньше XML-парсинга на устройстве пользователя, это тоже здорово!
Итак, что случилось с внедрением IoC на J2ME/CLDC и как вы могли погасить этот горький вкус во рту?
Danke shön для вашего понимания, Grouchal :) Я согласен с вашими мыслями о необходимости отложить некоторые предпочтения в дизайне приложения на J2ME. Однако причина, по которой я могу позволить себе использовать инфраструктуру IoC, заключается в том, что приложение, которое я разрабатываю, будет нацелено на более мощные устройства на базе CLDC, такие как последние Blackberry и J2ME на S60 (а также Android, с некоторыми моды). –
Идея ограничений, налагаемых CLDC 1.0, была фантастической в то время, когда задумывался CLDC 1.0; сегодня, однако, похоже, что большинство устройств, представляющих интерес, намного мощнее и имеют больше памяти. Поэтому вопрос о том, можем ли мы передавать хорошие методы развития, такие как использование IoC для мобильной разработки Java, является довольно естественным. И, как я уже сказал, если это можно сделать с помощью генерации кода времени сборки, а не во время выполнения, и это приведет к резкому улучшению ясности организации кода - почему бы не использовать его? –