Tôi thấy mô hình này trong những ngày thi nodeJS, nơi mà trong chúng ta có đoạn mã sau cho mô-đun của tôi:ES6 Class và module.exports
class Foo {
bar() {
console.log('bar');
}
}
module.exports = Foo;
Sau đó, khi tôi một yêu cầu và cuối cùng nói mới để tạo ra một thể hiện của lớp.
var Foo = require(./foo);
var myFoo = new Foo();
myFoo.bar();
Mẫu này theo tôi sẽ tiếp tục tạo nhiều phiên bản lớp Foo, mọi lúc mọi nơi được gọi.
Mẫu khác có thể là thứ tôi đang sử dụng cho vị trí trong foo.js của mình.
module.exports = {
bar: function() {
console.log('bar');
}
};
Và sau đó tôi chỉ yêu cầu và thanh cuộc gọi.
var foo = require(./foo);
foo.bar();
Câu hỏi hai hành vi này sẽ giống nhau không? Mô hình thứ hai có tiếp tục tạo đối tượng mọi lúc tôi yêu cầu và gọi thanh trên đối tượng không?
Không phải là tạo mẫu đơn trong ý tưởng hay trong trường hợp 1 vì chúng tôi đã quen với các ngôn ngữ khác, trong đó chúng tôi tiếp tục phân phát cùng một trường hợp nếu nó đã được tạo một lần?
bạn đang sử dụng ES6 để đảm bảo rằng, rất ít trình duyệt hỗ trợ tính năng này. –
Mục đích là chạy trong nodeJS chứ không phải trong trình duyệt. –