Sobes.tech
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 позволяет менять логику сравнения без изменения класса объектов.