2015-06-04 3 views
1

У меня есть дизайн, как это:Как справиться с этой зависимостью цикла?

  1. UI Layer
  2. компонент уровня.

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

Теперь представьте, по нажатию одной кнопки, пользовательский интерфейс слой вызывает компонент слой, поэтому зависимость выглядит следующим образом:

define(['creationComponent']) //ui layer module 

так, чтобы по нажатию кнопки, этот модуль может назвать creationComponent метод.

Теперь creationComponent тоже для того, чтобы нарисовать что-то, вызывает пользовательский интерфейс слой, таким образом, creationComponent выглядит следующим образом:

define(['uiLayer']) //create module 

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

ответ

2

Я не думаю, что слой UI должен действительно вызвать компонентный слой, если произошло какое-то событие. Он должен отправить событие. Здесь вы можете использовать шаблон Observer. После того, как он отправил событие, ему все равно, будет ли оно обработано или нет.

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