Cách triển khai và sử dụng Singleton pattern trong Golang


  • Giám sát viên

    Singleton pattern là một mô hình code sử dụng khá nhiều trong lập trình. Mô hình này nhằm mục đích giới hạn số instance được tạo ra nhằm giảm tải tài nguyên sử dụng và nhiều mục đích khác nữa.
    Cách triển khai một mô hình singleton trong golang sẽ có dạng như sau:

    package singleton
    
    type singleton map[string]string
    
    var (
        once sync.Once
    
        instance singleton
    )
    
    func New() singleton {
        once.Do(func() {
            instance = make(singleton)
        })
    
        return instance
    }
    

    Khác với các ngôn ngữ lập trình khác một tí là vì golang chạy đa luồng rất nhiều vì vậy sẽ có thêm đối tượng sync.Once để bảo đảm threadsafe.

    Cách sử dụng:

    s := singleton.New()
    
    s["this"] = "that"
    
    s2 := singleton.New()
    
    fmt.Println("This is ", s2["this"])
    

    Nguồn: Sưu tầm và diễn giải



  • @lyquocnam Hay quá anh ơi ❤


Hãy đăng nhập để trả lời
 

Có thể bạn cũng quan tâm

.
DMCA.com Protection Status