Какие шаблоны проектирования полезны для системы уведомлений? - PullRequest
0 голосов
/ 14 февраля 2010

Некоторое объяснение: есть несколько машин (хостов), которые должны быть уведомлены о любых изменениях некоторых данных на определенной машине ресурса. Ресурсная машина все время проверяет данные и, если были внесены какие-либо изменения, уведомляет всех слушателей.

Как я понимаю, я должен использовать шаблон Observer, может быть, Absrtact Factory для обобщения, что еще?

Как я понимаю, ресурсный компьютер должен использовать в качестве сервера (java.net.serversocket) в качестве клиента (java.net.socket) для отправки специальных сообщений слушателям и получения запроса? А все остальные машины нужно использовать в качестве сервера (для получения сообщений о любых изменениях данных) в качестве клиента (для отправки запроса на получение новых данных). Я прав?

А может быть, вы можете объяснить мне какие-либо другие стороны систем уведомления о реализации? Вероятно, это полезно с использованием JMX, но я думаю, что это слишком гигантский для этой проблемы?

Ответы [ 5 ]

1 голос
/ 19 марта 2010

Я не думаю, что вы должны думать о шаблонах проектирования, уведомлениях (как вы предполагаете это для своей системы) и JMX одновременно. Вы смешиваете и вещи из совершенно разных слоев всего процесса. Шаблоны не применяются напрямую ко всем системам, и JMX не является реализацией определенной категории систем. Вникать в них не поможет вам. Я думаю, что вы должны сначала больше думать о системе, которую вы хотите построить, потому что мне кажется, что вы пытаетесь выяснить, что вы хотите построить, сначала исследуя абстрактные шаблоны построения и конкретные технологии. Это должно быть наоборот. Комментарий Pod на ваш вопрос прибил его. Это как если бы вы проектировали автомобиль и запрашивали информацию о марках шин и типах турбин, прежде чем определиться с типом подвески, ходовой частью или даже типом автомобиля.

1 голос
/ 14 февраля 2010

Шаблоны Enterprise Integration * Веб-сайт 1003 * (http://www.eaipatterns.com/) дает хороший обзор шаблонов обмена сообщениями.

1 голос
/ 14 февраля 2010

Ну, это в значительной степени описывает паттерн Observer.

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

При этом попытка выяснить, какие шаблоны проектирования вы можете применить к проблеме заранее, часто является неправильным выбором.

1 голос
/ 14 февраля 2010

Вы можете посмотреть что-то вроде RPC . Это позволяет реализовать шаблон наблюдателя, но принимающие объекты размещаются на другом хосте.

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

0 голосов
/ 14 февраля 2010

Иногда издатель-подписчик - лучший способ внедрить систему уведомлений.

...