Я пытаюсь создать веб-музыкальный проигрыватель (только для JS), который достаточно сложен и хотел бы создать его как можно более аккуратно, чтобы я мог повторно использовать код для похожих проектов.
На данный моментЯ сток, какой подход был бы более подходящим.Я могу сделать это, используя модульный шаблон, такой как приведенный ниже пример.Или используйте ES6 и разделите код на несколько классов.Я не знаю, какой подход был бы более профессиональным и коммерческим для этого.
(function() {
var myModule = {
init: function() { // Initialising the module
this.cacheDom();
this.bindEvents();
this.render();
},
catchDom: function() { // DEALS with HTML to not reapeat in the code
this.$el = $("#plugin");
this.$button = this.$el.find("button");
},
bindEvents: function() { // Translates the current state of the code into the HTML
this.$button.on('click', this.aFunction.bind(this));
},
render: function() {// UPDATING INTERFACE
this.$ul.html("ADD DATA TO HTML");
},
aFunction: function(){
console.log("something")
}
}
myModule.init();
});
class class1 {
constructor(name, location) {
this.name = name;
this.location = location;
}
start() {
alert(this.name + 'Meetup ' + 'is started at ' + this.location);
}
}
let obj1 = new class1('JS', 'Blr');
let obj2 = new class1('Angular', 'Noida');
obj1.start(); //JSMeetup is started at Blr
obj2.start(); //AngularMeetup is started at Noida
import class1 from './class1.js'
.
.
.
.
Опять же, дело в том, чтобы сохранить профессию плагина, легкую в расширении и многократном использовании для подобных будущих проектов.
Ответом будет тот, который объясняет, почему один лучше другого.