Singleton Pattern ჯავაში

Singleton Pattern-ი არის დიზაინ პატერნი, რომლის არსი მდგომარეობს იმაში, რომ კონკრეტულ კლასს შეიძლება გააჩნდეს მხოლოდ ერთი ეგზემპლარი პროგრამის შესრულების დროს. Singleton Pattern-ი არ ნიშნავს, რომ კლასს მხოლოდ ერთი ეგზემპლარი უნდა გააჩნდეს.  ეს პატერნი განკუთვლინია ისეთი კლასებისთვის, რომელიც ზოგადი დანიშნულებისანი არიან. მისი მიზანი არის ის, რომ გარე კლასებიდან აიკრძალოს ამ კლასის ერთზე მეტი ეგზემპლარის შექმნა.

განვიხილოთ Singleton Pattern-ის რეალიზაციის სქემა. კლასს, რომელიც განიხილება, როგორც Singleton-ი სასურველია ჰქონდეს private წვდომის კონსტრუქტორი , უარეს შემთხვევაში protected-ი. ასევე კლასს უნდა ჰქონდეს ამავე კლასის ტიპის private წვდომის სტატიკური ველი და უნდა ჰქონდეს სტატიკური მეთოდი, რომელსაც მივწვდებით ჩვენი კოდის ნებისმიერი ადგილიდან და ეს მეთოდი უნდა ქმნიდეს Singleton კლასის ობიექტს. ობიექტის შექმნა უნდა მოხდეს სტატიკური მეთოდით, მაგრამ ასევე შესაძლებელია კლასს ჰქონდეს სტატიკური ინიციალიზაციის ბლოკი და ობიექტის შექმნა მოვახდინოთ იქ. Singleton Pattern-ის სტრუქტურა ასეთია:

Untitled

 

ახლა განვიხილოთ Singleton Pattern-ის მაგალითი.

Capture

 

გვაქვს კლასი SingletonPatternExample რომელსაც აქვს private წვდომის კონსტრუქტორი და სტატიკური მეთოდი createInstance() რომლიდანაც ხდება კონსტრუქტორის გამოძახება. ობიექტის შექმნის ყოველ ეტაპზე მოწმდება არსებობს თუ არა ამ ტიპის ობიექტი უკვე და თუ არსებობს მაშინ ობიექტი აღარ შეიქმნება და დაბრუნდება reference არსებულ ობიექტზე.

Leave a Reply / უპასუხე

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / შეცვლა )

Twitter picture

You are commenting using your Twitter account. Log Out / შეცვლა )

Facebook photo

You are commenting using your Facebook account. Log Out / შეცვლა )

Google+ photo

You are commenting using your Google+ account. Log Out / შეცვლა )

Connecting to %s