В настоящий момент я немного сбит с толку относительно того, как создать более поддерживаемую архитектуру JavaScript.Возможно, я не в курсе, но я бы сказал, что почти 50% моего кода использует DOM, поэтому использую мою базовую библиотеку (jQuery).
Я проверил [1] архитектуру масштабируемого приложения Николаса Закасаdesign: http://developer.yahoo.com/yui/theater/video.php?v=zakas-architecture и [2] шаблоны Addy Osmani для крупномасштабной архитектуры приложений JavaScript http://addyosmani.com/largescalejavascript/.
У меня есть одностраничный стиль приложения, с большим количеством контента, извлекаемого черезЭлементы ajax и DOM добавляются динамически.Мой главный вопрос: как разделить код на небольшие блоки многократного использования, если я использую jQuery (или любую другую базовую библиотеку) для манипулирования DOM.
Давайте просто выберем модуль списка задач, например,Я понимаю, что модуль может выглядеть так:
var TaskList = function() {
addTask = function() {
...
};
removeTask = function() {
...
};
return {
addTask: addTask,
removeTask: removeTask
}
}();
Где должна быть записана регистрация событий элементов DOM, ajax-вызов для сохранения, загрузки или удаления задачи, добавление новой задачи в элемент DOMи т. д.
У меня нет проблем с фиксацией jQuery на модуле в качестве зависимости, но если есть лучший способ, я думаю, что я пропустил его из двух вышеупомянутых ресурсов, и я хотел бы узнать это.
Я просто хочу иметь более элегантный способ поддержания растущего JavaScript, потому что я устал от спагетти;)
Спасибо за ваше время!