2016-05-09 7 views
-1

Лучше создать фабрику с областью приложения или она должна быть обработана при использовании фабричного шаблона для создания объектов?CDI @ApplicationScoped vs @RequestScoped и заводской шаблон

Бобы области приложения создаются один раз, но используются пространство памяти. Запросированные боковые объекты создаются для каждого вызова, но с использованием пространства памяти только при жизни. Запросить фасонные объекты можно было создать несколько раз.

@Named 
@ApplicationScoped 
public class SomeObjectFactory { 
    public SomeObject createObject() { 
     // do some stuff 
    } 
} 

Есть ли какие-либо рекомендации?

ответ

0

Думаю, вы не найдете окончательного ответа на этот вопрос. Причина в том, что это действительно зависит от вашей заявки:

  • Должен ли компонент существовать только в течение срока службы запроса? Если да, используйте @RequestScoped.

  • Должен ли компонент существовать в течение срока службы приложения и должно ли состояние боба делиться между всеми запросами? Если да, используйте @ApplicationScoped.

+0

Благодарим вас за ответ. Думаю, нет необходимости делиться одним экземпляром фабрики. Есть ли какая-либо проблема для создания тонны фасоли с областью применения? –

+1

@LarsMichaelis У вас может быть много методов-производителей в одном классе, поэтому это уменьшит количество классов. Тем не менее, более важным, чем объем класса, который содержит методы-производители, является объем производимых компонентов. –

Смежные вопросы