26/10/2018, 23:41

Một mẫu thiết kế Singleton trong javascript

Singleton Pattern là một mẫu thiết kế (design pattern) được sử dụng để bảo đảm rằng mỗi một method chỉ có được một thể hiện (instance) duy nhất và mọi tương tác đều thông qua thể hiện này. Singleton Pattern cung cấp một phương thức khởi tạo, duy trì một thuộc tính tĩnh để tham chiếu đến một thể hiện của method Singleton này. Nó cung cấp thêm một bien tĩnh trả về thuộc tính tĩnh này.

Bạn gặp một sự cố về hiệu năng hệ thống. Cùng một thời điểm, các bạn đang sử dụng một lúc nhiều đối tượng và chúng làm tiêu tốn quá nhiều tài nguyên của hệ thống. Đây là vấn đề mà bạn cần phải khắc phục, và Singleton pattern có thể giúp bạn thực hiện được điều đó.

Singleton Pattern là một mẫu thiết kế (design pattern) được sử dụng để bảo đảm rằng mỗi một method chỉ có được một thể hiện (instance) duy nhất và mọi tương tác đều thông qua thể hiện này.

Singleton Pattern cung cấp một phương thức khởi tạo, duy trì một thuộc tính tĩnh để tham chiếu đến một thể hiện của method Singleton này. Nó cung cấp thêm một bien tĩnh trả về thuộc tính tĩnh này.

Tạo một đối tượng duy nhất với mẫu Singleton

Chúng ta bắt đầu với mẫu Singleton và xử lý rắc rối mà chúng ta vừa gặp phải. Chúng ta muốn chắc chắn rằng chỉ tạo duy nhất 1 đối tượng cho 1 lớp cụ thể dù cho người khác có cố gắng tạo bao nhiêu đối tượng đi nữa.

var Singleton = (function () {
    var instance;
 
    function createInstance() {
        var object = new Object("I am the instance");
        return object;
    }
 
    return {
        getInstance: function () {
            if (!instance) {
                instance = createInstance();
            }
            return instance;
        }
    };
})();
 
function run() {
 
    var instance1 = Singleton.getInstance();
    var instance2 = Singleton.getInstance();
 
    alert("Same instance? " + (instance1 === instance2));  
}

 

Bài liên quan

Một mẫu thiết kế Singleton trong javascript

Singleton Pattern là một mẫu thiết kế (design pattern) được sử dụng để bảo đảm rằng mỗi một method chỉ có được một thể hiện (instance) duy nhất và mọi tương tác đều thông qua thể hiện này. Singleton Pattern cung cấp một phương thức khởi tạo, duy trì một thuộc tính tĩnh để tham chiếu đến một thể ...

Đào Đăng Sơn viết 23:41 ngày 26/10/2018

Không nên để ám ảnh với mẫu thiết kế (design pattern)

Những mẫu thiết kế có thể là trợ thủ đắc lực khi chúng ta sử dụng chúng một cách chính xác. Tuy nhiên, khi sử dụng không đúng thì lợi bất cập hại. Việc cấp thiết là làm thế nào chúng ta sử dụng chúng một cách chính xác. Bởi vì một mẫu thiết kế là một giải pháp được định sẵn cho một ...

Trịnh Tiến Mạnh viết 11:09 ngày 23/08/2018

Sai lầm từ sự lạm dụng 1 số mẫu thiết kế trên mobile, hiện đã trở nên lỗi thời – Phần 3

MultiTouch Gesture – ngôn ngữ cử chỉ trên màn hình cảm ứng đa điểm, bao gồm hầu hết các loại smart phone và máy tính bảng hiện nay đã thay đổi một cách toàn diện tương tác giữa con người và các thiết bị cầm tay cá nhân. Nếu nói chuyện với những người vài thập kỷ trước, luôn cầm trên tay 1 cuốn sổ ...

Hoàng Hải Đăng viết 15:59 ngày 12/08/2018

Sai lầm từ sự lạm dụng 1 số mẫu thiết kế trên mobile – hiện đã trở nên lỗi thời – Phần 1

Xem bài sau: Icon, lúc nào cũng là icon – uh! thì tại tôi không thích nhiều chữ mà Viết xong cái tiêu đề của mình tôi cố gắng để chỉnh lại, nó trúc trắc, khúc khoắc như thể 1 thiết kế UX tồi tệ. Nhưng thôi về mặt cảm xúc, tôi thích cái cảm giác của cái tiêu đề bài viết mang lại – và quyết định ...

Tạ Quốc Bảo viết 15:59 ngày 12/08/2018

Sai lầm từ sự lạm dụng 1 số mẫu thiết kế trên mobile – hiện đã trở nên lỗi thời – Phần 2

Xem bài trước: Sai lầm do menu ẩn (hamburger menu) 2. Icon, lúc nào cũng là icon – uh! thì tại tôi không thích nhiều chữ mà Biểu tượng (hay là icon) chính là một thứ ngôn ngữ design tuyệt diệu, nó khiến cho màn hình ứng dụng của chúng ta fun hơn, hiện đại và thân thiện hơn. Hầu hết người dùng ...

Trịnh Tiến Mạnh viết 15:59 ngày 12/08/2018
+2