Создание фабрики универсальных объектов - PullRequest
0 голосов
/ 09 января 2012

При разработке приложения я поражен случаем, когда не ясно, как мне поступить. Мое приложение не очень большое значение, поэтому я не хочу добавлять какой-либо DI-контейнер (Spring / Guice).

У меня есть слой Controler, из которого мне нужно вызвать сервисный слой, и у меня есть два способа создать экземпляр ServiceObject.

  1. использовать простой оператор new.
  2. Создатьфабричный слой.

Я знаю о фабричном шаблоне, но я намерен создать универсальную ObjectFactory, которая должна быть достаточно способной создавать и вводить данный объект.

Что-тоаналогично тому, что делает Spring (не так много), как предоставление некоторого метода setter в моем классе контроллера и позволить этой фабрике внедрить указанный объект в этом.

Любой начальный указатель в этом отношении будет полезен

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

Ответы [ 2 ]

1 голос
/ 09 января 2012

Мое приложение не очень большое значение, поэтому не хочу добавлять любой DI контейнер (Spring / Guice)

Я думаю, что размер ваших приложений не должен учитываться (при условии, что это действительно не HelloWolrd :)). Как сказал artbristol , смысл в использовании уже существующего фреймворка заключается в том, что вы не допустите ошибок в своей собственной реализации, которые другие уже сделали и решили позже. Я не знаю, есть ли у вас практические знания о Spring (но мы уже знаем, что вы хорошо знакомы с концепцией, лежащей в основе), поэтому я советую вам взглянуть на некоторые основные учебники по этой теме, и вы увидите, насколько легко вы можно начать использовать Spring.

http://www.vogella.de/articles/SpringDependencyInjection/article.html

Удачного кодирования!

1 голос
/ 09 января 2012

Просто используйте Spring или Guice, в зависимости от того, что вам больше знакомо.Они оба на самом деле довольно легкие, и другие люди смогут понять ваше приложение легче, чем если бы вы бросили собственную инъекцию зависимости.Ваша собственная реализация в конечном итоге будет выглядеть как одна из них, но с меньшей функциональностью и большим количеством ошибок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...