Junior — Middle
149
Որ դիզայնի նմուշը օգտագործվում է օբյեկտների համեմատության կարգը որոշելու համար?
Պատասխան 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 позволяет менять логику сравнения без изменения класса объектов.