Важность дизайна в весеннем приложении - PullRequest
1 голос
/ 01 июня 2011

Я изучал использование Spring Framework для моих Java-приложений.

Это совершенно другой взгляд на программирование в целом, я говорю о DI и AOP!

Мне кажется, что уровень разбиения основных частей на компоненты многократного использования требует много времени для начала (в процессе проектирования).Я подвергаю сомнению ту часть, когда я узнаю, что она готова к кодированию (это может быть просто опытом)

Думаю, я смотрю на некоторые советы?С чего начать?Кажется, что он должен быть идеально спроектирован с самого начала, чтобы избежать этого сценария сильной связи, который кажется настолько распространенным среди других приложений, с которыми я работал (не обязательно сделал их сам). Когда я узнаю, что пора снимать мою нагрузку и код?

Пожалуйста, не отмечайте, что это субъективное или что-то в этом роде. Мне просто нужен честный и порядочный совет от сообщества.

Заранее спасибо!

Ответы [ 2 ]

3 голосов
/ 01 июня 2011

Я никогда не видел приложение, которое было полностью разработано (на уровне реализации) заранее.Напротив, рефакторинг является (и должен быть) частью процесса, независимо от того, используете ли вы Spring.

Возможно, вы преодолены областью применения Spring.Не будьОсновная цель - использовать внедрение зависимостей, чтобы инвертировать управление и позволить вам написать простой POJOS для структурирования вашего приложения.Это не делает приложение более сложным, оно делает одно проще.

Это не говорит о том, что все с Весной прямо вперед - это не так.Но вы можете узнать более сложные вещи, как вы идете.

В ответ на ваш комментарий представьте конфигурацию пружины как метаданные для вашего класса.Вы не можете настроить Spring с классом, который вы не определили.Spring обрабатывает создание и жизненные циклы определенных бобов для вас.Так что, если ClassA зависит от ClassB, то когда ClassA создается, каркас создаст для вас зависимости (и внедрит их).

0 голосов
/ 02 июня 2011

Когда я пошел с Spring DI, я понял, что перестал тратить так много времени на то, чтобы выяснить, создавать ли экземпляры объектов, искать их в каком-либо сервисе или делать с ними что-то еще.

Вы, вероятно, не должны идти за борт с DI либо. Хорошим руководящим принципом было бы разделить приложение на бины в «швах», где вы хотели бы проводить модульные тесты. Аналогичный подход - в «швах» между уровнями приложений: доступ к данным, службы бизнес-логики, пользовательский интерфейс.

...