-
Notifications
You must be signed in to change notification settings - Fork 0
Specification
პატერნი გვაძლევს საშუალებას შევქმან ლოგიკური ოპერაციების ერთიანი ჯაჭვი. მისი საშუალებით ვქმნით რაიმე ობიექტის მიერ კონკრეტული მოთხოვნის დაკმაყოფილების წინაპირობათა ერთიან, ლოგიკურ მიმდევრობათა ფილტრს, რომლის შედეგია true ან false.
პატერნის გამოყენება საშუალებას გვაძლებს თავიდან ავიცილოთ if-else-ების რთული, ერთმანეთში ჩადგმული სტრუქტურა. პატერნის საშუალებით ადვილია შესამოწმებელ ობიექტზე ახალი შეზღუდვის გაჩენის შემთხვევაში ლოგიკური ოპერაციის დამატება ისე, რომ სტრუქტურა ადვილად აიტანს ცვლილებას.
-
კლიენტის კოდს არ გააჩნია კონკრეტული ცოდნა საკუთრივ ლოგიკური ოპერატორების კლასების არსებობაზე და მათ ფუნქციონირებაზე. კლიენტის ლოგიკა დამოუკიდებელია აბსტრაქტული ლოგიკისგან, რაც საშუალებას აძლევს კლიენტს შექმნას constraint-ების იმდენი კლასი, რამდენსაც ამოცანის გადაწყვეტა მოითხოვს.
-
Generic ინტერფეისის და კლასის გამოყენებით, კლიენტს საშუალება ეძლევა Specification patter-ის ლოგიკა მოარგოს სხვადასხვა ამოცანას, ისე რომ აბსტრაქტული და ლოგიკური ოპერატორების კლასების მუშაობის ძირითადი ლოგიკა არ შეიცვალოს.