bootd
@bootd
Гугли и ты откроешь врата знаний!

Стоит ли объединять множество функций в один общий объект?

Всем доброе утро! Давно стал мучить вопрос, есть ли смысл для объединения кучи функций, призванных делать одно общее дела в один объект? Вроде как, структура кода визуально выглядит лучше!

Пример: Нужно написать калькулятор цен на товары.

Так я запишу функционал через объект:
var Calc = {
    prop1: $('#calc'),
    prop2: 'Я свойство объекта',
    prop3: function(){
        console.log('Привет мир');
    },
    prop4: function(){
        this.prop3();
        console.log('Меня зовут Дима!');
    }
}

$('button').on('click', function(){
    Calc.prop4();
});
Calc.prop4();


Или же, мы просто разделим это все на переменные и отдельные функции:
var prop = $('#calc'),
    prop2 = 'Я просто значение переменной';
        
function prop3(){
    console.log('Привет мир');
}

function prop4(){
    prop3();
    console.log('Меня зовут Дима!');
}

$('button').on('click', function(){
    prop4();
});


Надеюсь я понятно спрашиваю. Очень интересно узнать ваше мнение, какой подход лучше и почему! Пробовал гуглить, но так и не смог правильно составить запрос, либо находил не то что нужно!
  • Вопрос задан
  • 190 просмотров
Решения вопроса 1
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
Если ваша задача не заключается исключительно в генерации спагетти-кода, то лучше использовать объектную нотацию. По многим причинам, начиная от организации приватных переменных и функций, и заканчивая чистотой глобального контекста и невозможностью нарваться на аналогичные имена другого спагетти-мастера (он же namespace).

Обычно для организации объекта используют паттерны. Самый часто используемый (но далеко не единственный) — Модуль.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы