使用JavaScript类或模块化模式对这个项目会更好吗?

时间:2019-04-28 04:56:18

标签: javascript jquery class design-patterns modular-design

我正在尝试创建一个基于Web的音乐播放器(仅适用于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'
.
.
.
.

同样重要的是要保持插件的专业性,使其易于扩展并在以后的类似项目中可重复使用。

答案就是一个解释为什么一个比另一个更好的原因。

0 个答案:

没有答案