Более глубокое разделение в модуле Javascript Pattern Sandbox Core - PullRequest
1 голос
/ 07 марта 2012

Следуя идеям Шаблоны для крупномасштабной архитектуры приложений JavaScript и Николас Закас: Масштабируемая архитектура приложений JavaScript Я начал реализовывать свой проект лицензирования колледжа, используя эту архитектуру.

Я столкнулся с ситуацией, когда неясно, как мне поступить. Чтобы проиллюстрировать сценарий, я попытаюсь привести хороший пример:

У меня есть два модуля, которые запускаются через CORE, они являются законными модулями, каждый из которых получает экземпляр песочницы. Один модуль отображает основное содержание панели администрирования, а другой - основное содержание профиля пользователя административной области.

enter image description here

Оба модуля используют «песочницу» для извлечения контента через Ajax с сервера. Вот тут и появляется неясная вещь. У обоих модулей есть одна небольшая, но заметная общая точка. Небольшой раздел статистики пользователя, который отображает некоторые данные о текущем вошедшем в систему пользователе.

Этот шаблон проектирования гласит, что модули не должны иметь никаких других зависимостей, кроме Песочницы. Однако для меня очевидно, что мини-модуль User Statistics Mini - это отдельный компонент, используемый как Dashboard, так и большим модулем User Profile.

У меня вопрос, как бы я открыл мини-модуль статистики пользователя на своих модулях Dashboard и Profile?

1 Ответ

2 голосов
/ 07 марта 2012

Модули должны взаимодействовать в любом случае, идея шаблона состоит в том, чтобы отделить это взаимодействие, поэтому они не должны взаимодействовать напрямую, но могут делать это через основной посредник, используя события подписки / публикации.

Вы можете опубликовать, например, displayUserStats событие с дополнительными данными в ваших модулях панели мониторинга и подписка на это событие в вашем маленьком модуле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...