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