Sobes.tech
Junior — Middle

შეგიძლიათ ახსნათ სინგლტონის დიზაინის ნიმუშის კონცეფცია და მისი გამოყენება?

sobes.tech AI

პასუხი AI-სგან

Singleton არის დიზაინის ნიმუში, რომელიც გარანტიას იძლევა, რომ კლასი აქვს მხოლოდ ერთი ინстанცია და უზრუნველყოფს გლობალურ წვდომას ამ ინстанციაზე.

გამოყენებები:

  • როდესაც საჭიროა მხოლოდ ერთი ობიექტი, მაგალითად, კონფიგურაციის მართვა, ლოგგინგი, ბაზასთან დაკავშირება.
  • მრავალ ინстанციის შექმნის თავიდან აცილების მიზნით, რომლებიც რესურსებს მოიხმარენ ან შეიძლება გამოიწვიონ შეუთავსებლობა.

Node.js-ში Singleton-ის განხორციელების მაგალითი:

class Singleton {
  constructor() {
    if (Singleton.instance) {
      return Singleton.instance;
    }
    this.value = Math.random();
    Singleton.instance = this;
  }
}

const a = new Singleton();
const b = new Singleton();
console.log(a === b); // true

ამ გზით, როდესაც ცდილობთ შექმნათ ახალი ობიექტი Singleton კლასიდან, ყოველთვის იმავე ინстанცია დაბრუნდება.