Junior — Middle
153
Kuris projektavimo šablonas naudojamas objektų palyginimo tvarkai nustatyti?
Atsakymas iš AI
sobes.tech 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());
Таким образом, шаблон Strategy позволяет менять логику сравнения без изменения класса объектов.