Это скорее общий вопрос о структуре моего кода JavaScript и о том, иду ли я в правильном направлении к хорошо структурированному коду.
Текущий код, который у меня есть:
(function (myNamespace, $, undefined) {
myNamespace.className = {
init:function { } // do stuff
}
} (window.myNamespace= window.myNamespace|| {}, jQuery)));
(function (myNamespace, $, undefined) {
myNamespace.className2 = {
init:function { } // do stuff
}
} (window.myNamespace= window.myNamespace|| {}, jQuery)));
Очевидно, что с приведенным выше кодом я могу использовать то же пространство имен (в соответствии с разделом страницы / сайта) и вызывать их через myNamespace.className.init ()
и т.д. Я также могу комбинировать их, если хочу, но я инкапсулирую классы для удобства чтения.
Теперь я читал http://addyosmani.com/largescalejavascript/ о концепции посредников. Мой вторичный вопрос: когда (и если) мне следует их использовать? Из className2, очевидно, я могу это сделать:
myNamespace.className2 = {
init:function { myNamespace.className.init() } // do stuff
}
Итак, почему это могло когда-либо подписываться на className, например mediator.subscribe ("classNameInit")
и опубликовать это событие в className?
Я очень открыт для предложений по структуре моего кода, так как это то, что мне нужно исправить, пока я меняю способ написания m y JavaScript.