Lookups
- это то, что обычно называется Service Locator , и в наши дни его обычно рассматривают как anti-pattern , но это было довольно распространенным явлением 5-8 лет назад. Метод singleton()
является публичным статическим методом в классе, который используется для поиска ссылки на глобальный объект. Представьте, что это выглядит так:
public class Lookups {
public static SomeObject singleton(InputObject obj) {
// use the parameter to return some other object
}
}
Причина, по которой он рассматривается как анти-шаблон, заключается в том, что он может крайне затруднить юнит-тестирование или макетирование разделов вашего кода. В Java DI («внедрение зависимостей»), такие как Spring, обычно предпочитают этот подход.