Junior — Middle
რომელი დიზაინის ნიმუში გამოიყენება ობიექტების შედარების წესის განსაზღვრაში?
sobes.tech AI
პასუხი AI-სგან
ობიექტების შედარების წესის განსაზღვრისთვის ჩვეულებრივ გამოიყენება დიზაინის ნიმუში Strategy (სტრატეგია).
ეს საშუალებას აძლევს განსაზღვრო შედარების ალგორითმების ოჯახი, თითოეული მათგანის კაპსულაცია და გამოყენება ურთიერთშეცვლად.
Java-ში ეს ხშირად რეალიზდება ინტერფეისის Comparator<T> მეშვეობით, რომელიც განსაზღვრავს ორი ობიექტის შედარების მეთოდს.
მაგალითი:
import java.util.*;
class Person {
String name;
int age;
Person(String name, int age) {
this.name = name;
this.age = age;
}
}
// ასაკის მიხედვით შედარების სტრატეგია
class AgeComparator implements Comparator<Person> {
public int compare(Person p1, Person p2) {
return Integer.compare(p1.age, p2.age);
}
}
// გამოყენება
List<Person> people = Arrays.asList(new Person("Alice", 30), new Person("Bob", 25));
Collections.sort(people, new AgeComparator());
ამგვარად, სტრატეგიის ნიმუში საშუალებას აძლევს შეცვალოს შედარების ლოგიკა, ობიექტების კლასს შეცვლის გარეშე.