Создание фабрики, для которой можно поддерживать как реальный объект, так и NullObject. - PullRequest
1 голос
/ 17 апреля 2009

Я хочу создать фабрику, которая создаст привкус XMPPConnection. Фабрика должна вернуть реальное XMPPConnection или NullObject, если не удалось установить соединение.

Однако XMPPConnection smack - это конкретный класс.

Он не реализует никаких интерфейсов, поэтому я не могу использовать API динамического прокси Java для прокси-сервера. Я мог бы расширить XMPPConnection, но это не очень элегантно.

Есть ли другие варианты? Обратите внимание, что фабрика никогда не должна возвращать ноль!

1 Ответ

3 голосов
/ 17 апреля 2009

Вы должны будете создать свой собственный интерфейс, который в основном дублирует XMPPConnection, и создать адаптер, который реализует этот интерфейс и оборачивает настоящий класс XMPPConnection. Таким образом, вы также можете иметь NullXMPPConnection.

...