Применяет ли шаблон Builder это требование?

У меня есть веб-приложение, при запуске сервлет создает различные экземпляры одного и того же 'Product', Gateway, с разными заданными параметрами конфигурации. Вот небольшое описание.

Шлюз: абстрактный класс определяет различные типы шлюзов.

MessageParser: интерфейс. Каждый тип Gateway имеет свои собственные синтаксические анализаторы, обрабатывает и возвращает определенный Message.

Сообщение: интерфейс с методом, возвращающим String getMessage(), все bean-компоненты реализуют это сообщение и являются сериализуемыми.

Прослушиватель: каждый тип шлюза регистрирует собственный прослушиватель для обработки входящих данных.

Настройки шлюза: вся необходимая шлюзу информация о том, как, когда и куда подключаться, порт и т. д.

GatewayBuilder создает продукт шлюза, используя настройки Gateway buildGateway(), устанавливая все соответствующие реализации его свойств? какие методы входят в это, должны ли у него быть сеттеры, чтобы сделать его неизменным?

Работает ли шаблон строителя или любой другой шаблон? если можно использовать шаблон строителя, где в этой ситуации появляется директор шаблона?

Напишите мне, если требуется дополнительная информация!

Спасибо, В.


person Vijay Veeraraghavan    schedule 19.07.2012    source источник
comment
...Это очень тяжело читать, но я могу сказать следующее: если ваш билдер неизменяем, вы, вероятно, делаете это неправильно. (Иногда у вас будут неизменяемые классы, которые позволят вам настроить их с помощью аналогичного беглого синтаксиса, но я бы не назвал это шаблоном построения.)   -  person Louis Wasserman    schedule 19.07.2012


Ответы (1)


Это обсуждение stackoverflow может быть действительно ценным ресурсом. Подходящий вариант использования шаблона Builder — это когда нам нужно создать неизменяемый экземпляр класса на протяжении всей его жизни, поэтому класс Builder создает неизменяемый экземпляр. Сам Builder является изменчивым и использует и отбрасывает тип объекта.

person Shilpa    schedule 19.07.2012