Skip to content

Specification

Davit-Qobuladze edited this page Mar 17, 2016 · 4 revisions

სპეციფიკაცია

მოკლე აღწერა

პატერნი გვაძლევს საშუალებას შევქმან ლოგიკური ოპერაციების ერთიანი ჯაჭვი. მისი საშუალებით ვქმნით რაიმე ობიექტის მიერ კონკრეტული მოთხოვნის დაკმაყოფილების წინაპირობათა ერთიან, ლოგიკურ მიმდევრობათა ფილტრს, რომლის შედეგია true ან false.

გამოყენება

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

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

  2. Generic ინტერფეისის და კლასის გამოყენებით, კლიენტს საშუალება ეძლევა Specification patter-ის ლოგიკა მოარგოს სხვადასხვა ამოცანას, ისე რომ აბსტრაქტული და ლოგიკური ოპერატორების კლასების მუშაობის ძირითადი ლოგიკა არ შეიცვალოს.

დიაგრამები

Class

Sequence

Clone this wiki locally