Синглтон-класс Java против JSF-приложения, управляемый компонентом - различия? - PullRequest
8 голосов
/ 11 марта 2012

Есть ли разница в использовании одноэлементного класса и управляемого компонента в области приложения для хранения данных приложения?

Мне нужно поискать некоторые ресурсы JNDI, такие как интерфейсы удаленных компонентов, и поэтому я написал себе singleton для кеширования своих ссылок и допускаю только одиночные ссылки. (ServiceLocator)

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

Какие-либо другие преимущества управляемого компонента bean-компонента позволяют получить доступ к его свойствам в jsf?

1 Ответ

5 голосов
/ 11 марта 2012

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

«Просто создайте один», как управляемый компонент приложения, гораздо проще разрабатывать, тестировать и поддерживать. JSF в качестве фреймворка гарантирует, что только один экземпляр будет создан и использован повторно во время жизни веб-приложения.

Смотри также:

...