Skip to content

Adapter

Irakli_Chalagashvili edited this page Mar 14, 2016 · 7 revisions

ადაპტერ პატერნი

მოკლე აღწერა

ადაპტერ დიზაინ პატერნი გვეხმარება მაშინ, როდესაც გვაქვს ორი შეუთავსებელი კლასი და გვჭირდება დავამყაროთ კომუნიკაცია მათ შორის.

გამოყენება

ამ ორი კლასიდან როდესაც ერთ-ერთი ემყარება ისეთ ინტერფეისს, რომელსაც მეორე კლასი არ აიმპლემენტირებს, ამ შემთხვევაში ადაპტერი თამაშობს თარჯიმნის როლს ამ ორ კლასს შორის. პატერნი შეიცავს ერთ კლასს, რომელიც პასუხისმგებელია შეუთავსებელი ან დამოუკიდებელი კლასების ან ინტერფეისების ფუნქციონალის ერთმანეთთან მიბმასა და დაკავშირებაზე. პატერნის გამოყენების ნათელი ცხოვრებისეული მაგალითია Card Reader, რომელიც წარმოადგენს "ადაპტერს" მეხსიერების ბარათსა და ლეპტოპს შორის. მეხსიერების ბარათს ვდებთ Card Reader-ში და შემდგომ ლეპტოპში - წასაკითხად. ამ შემთხვევაში, მეხსიერების ბარათი და ლეპტოპი - წარმოადგენენ შეუთავსებელ და დამოუკიდებელ კლასებს, ხოლო მათი დაკავშირება და "ხიდის გაბმა" Card Reader-ის, ანუ ადაპტერის საქმეა. არსებობს ორი სახის ადაპტერ პატერნი

  • ა) პირველს ეწოდება Object Adapter Pattern. ამ ტიპის ადაპტერი შეიცავს იმ კლასის ინსტანსს, რომელთანაც კავშირი უნდა დაამყარებინოს კლიენტის ინტერფეისს.
  • ბ)მეორე ტიპის Class Adapter Pattern ინსტანსის შენახვის ნაცვლად, inheritance-ს უკეთებს იმ დასაკავშირებელ კლასს.

დიაგრამები

Class Adapter Class Diagram

Class Adapter Class Diagram

Class Adapter Sequence Diagram

Class Adapter Sequence Diagram

Object Adapter Class Diagram

Object Adapter Class Diagram

Object Adapter Sequence Diagram

Object Adapter Sequence Diagram

Clone this wiki locally