Junior — Middle
Obyektlərin müqayisə ardıcıllığını müəyyən etmək üçün hansı dizayn şablonu istifadə olunur?
sobes.tech Süni İntellekt
AI-dan cavab
Obyektlərin müqayisə ardıcıllığını müəyyən etmək üçün adətən Strategy (Strateji) dizayn şablonu istifadə olunur.
Bu, müqayisə alqoritmlərinin bir ailəsini təyin etməyə, hər birini kapsülləməyə və dəyişdirilə bilən şəkildə istifadə etməyə imkan verir.
Java-da bu, adətən Comparator<T> interfeysi vasitəsilə həyata keçirilir, bu da iki obyektin müqayisəsini həyata keçirən bir metod müəyyən edir.
Nümunə:
import java.util.*;
class Person {
String name;
int age;
Person(String name, int age) {
this.name = name;
this.age = age;
}
}
// Yaş üzrə müqayisə strategiyası
class AgeComparator implements Comparator<Person> {
public int compare(Person p1, Person p2) {
return Integer.compare(p1.age, p2.age);
}
}
// İstifadə
List<Person> people = Arrays.asList(new Person("Alice", 30), new Person("Bob", 25));
Collections.sort(people, new AgeComparator());
Bu şəkildə, Strategy şablonu, obyektlərin müqayisə məntiqini dəyişməyə imkan verir, obyekt sinflərini dəyişdirmədən.