სად ვიყენებთ singleton კლასს ჯავაში?
სად ვიყენებთ singleton კლასს ჯავაში?

ვიდეო: სად ვიყენებთ singleton კლასს ჯავაში?

ვიდეო: სად ვიყენებთ singleton კლასს ჯავაში?
ვიდეო: What is Singleton Class in Java | Singleton Design Pattern Part 1 2024, ნოემბერი
Anonim

ა სინგლიტონი არის უბრალოდ ა კლასი რომელიც ინსტანცირდება ზუსტად ერთხელ ჯავა Ვირტუალური ხელსაწყო. Ეს არის გამოყენებული უზრუნველყოს ობიექტზე წვდომის გლობალური წერტილი. პრაქტიკული თვალსაზრისით გამოიყენეთ Singleton ნიმუშები არის გამოყენებული ჟურნალში, ქეშებში, ძაფების აუზებში, კონფიგურაციის პარამეტრებში, მოწყობილობის დრაივერის ობიექტებში.

აქედან, სად გამოიყენება singleton კლასი?

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

შემდგომში ჩნდება კითხვა, როგორ მუშაობს სინგლტონის კლასი? ა სინგლიტონი არის კლასი რომელიც საშუალებას აძლევს შექმნას საკუთარი თავის მხოლოდ ერთი ინსტანცია და აძლევს წვდომას შექმნილ ინსტანციაზე. ის შეიცავს სტატიკურ ცვლადებს, რომლებსაც შეუძლიათ საკუთარი თავის უნიკალურ და კერძო ინსტანციების განთავსება. იგი გამოიყენება სცენარებში, როდესაც მომხმარებელს სურს შეზღუდოს a-ს ინსტანცია კლასი მხოლოდ ერთ ობიექტზე.

შემდგომში ჩნდება კითხვა, რა არის სინგლტონის კლასი ჯავაში და როგორ შევქმნათ კლასის სინგლტონი?

Singleton კლასი ნიშნავს, რომ თქვენ შეგიძლიათ შექმნათ მხოლოდ ერთი ობიექტი მოცემული კლასისთვის. თქვენ შეგიძლიათ შექმნათ singleton კლასი მისი კონსტრუქტორის კერძოდ გადაქცევით, რათა შეზღუდოთ მისი შექმნა ობიექტი . მოგვაწოდეთ სტატიკური მეთოდი მაგალითის მისაღებად ობიექტი , სადაც შეგიძლიათ გაუმკლავდეთ ობიექტი შექმნა მხოლოდ კლასის შიგნით.

რამდენი გზა შევქმნათ singleton კლასი ჯავაში?

ამ პოსტში მე აღვწერ ხუთს გზები განახორციელოს Singleton ნიმუში ჯავაში . ეს არის getInstane() მეთოდის სინქრონიზაცია, სტატიკური საბოლოო ცვლადი, ორმაგი შემოწმების დაბლოკვის გამოყენებით არასტაბილური საკვანძო სიტყვით, SingletonHolder-ისა და Enum-ის გამოყენებით.

გირჩევთ: