2012-09-15 4 views
2

Я пытаюсь несколько способов организовать мой код в своих приложениях javascript, и мне интересно, какой из них наиболее подходит.Лучший способ организовать приложение javascript

Первый пример:

var Application = { 

    init: function() { 
     //Some code 
     Calculate(); 
    }, 

    Calculate: function() { 
     //Some code 
    } 
}; 

Второй пример:

(function() { 

    function init() { 
     //Some code 
     Calculate(); 
    } 

    function Calculate() { 
     //Some code 
    } 

})(); 

Третий пример:

(function() { 

    var init = function() { 
     //Some code 
     Calculate(); 
    }; 

    var Calculate = function() { 
     //Some code 
    }; 

})(); 

Или это какой-то другой способ, который является предпочтительным? Я очень смущен этим. Заранее спасибо!

+0

Сначала я использую второй пример, но в конечном итоге загромождаю глобальный контекст многими моими переменными и функциями. Найти переменную - это найти иглу в стоге сена. Итак, теперь я использую первый пример. Я только ставил переменные в глобальном контексте, только если мне нужно и только временно. – Jay

ответ

4

Ответ, без сомнения, «это зависит». Насколько велика ваша заявка? Вам нужны все модули все время? Насколько масштабируемым и многоразовым может быть ваше приложение? Это не вопросы JavaScript, а скорее «архитектурные» вопросы, и, изучая основы JavaScript относительно легко, требуется много лет, чтобы научиться быть хорошим архитектором в разработке программного обеспечения. (хотя отлично, что вы задаете эти вопросы.)

Я бы посоветовал вам погрузиться в шаблоны программирования. Учебные шаблоны - это обучение правильному составлению приложения, в зависимости от данного приложения.

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

Чтобы узнать больше о шаблонах JavaScript, я настоятельно рекомендую Addy Osmani's «Изучение шаблонов проектирования JavaScript». Вы можете прочитать его бесплатно, здесь: http://addyosmani.com/resources/essentialjsdesignpatterns/book/

Смежные вопросы