Junior — Middle
Jakiego wzorca projektowego używa się do określenia kolejności porównywania obiektów?
sobes.tech AI
Odpowiedź od AI
Aby określić kolejność porównania obiektów, zwykle używa się wzorca projektowego Strategy (Strategia).
Pozwala on zdefiniować rodzinę algorytmów porównania, kapsułkować je i używać wymiennie.
W Java często realizuje się to za pomocą interfejsu Comparator<T>, który określa metodę porównującą dwa obiekty.
Przykład:
import java.util.*;
class Person {
String name;
int age;
Person(String name, int age) {
this.name = name;
this.age = age;
}
}
// Strategia porównania według wieku
class AgeComparator implements Comparator<Person> {
public int compare(Person p1, Person p2) {
return Integer.compare(p1.age, p2.age);
}
}
// Użycie
List<Person> people = Arrays.asList(new Person("Alice", 30), new Person("Bob", 25));
Collections.sort(people, new AgeComparator());
W ten sposób wzorzec Strategy pozwala zmienić logikę porównania bez modyfikacji klasy obiektów.