Sobes.tech
Junior — Middle

Aký vzor návrhu sa používa na určenie poradia porovnávania objektov?

sobes.tech AI

Odpoveď od AI

Na určenie poradia porovnávania objektov sa zvyčajne používa návrhový vzor Strategy (Stratégia).

Tento vzor umožňuje definovať rodinu algoritmov porovnávania, každý z nich zabalí a používa ich zameniteľne.

V jazyku Java sa to často realizuje pomocou rozhrania Comparator<T>, ktoré definuje metódu na porovnanie dvoch objektov.

Príklad:

import java.util.*;

class Person {
    String name;
    int age;
    Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
}

// Stratégia porovnania podľa veku
class AgeComparator implements Comparator<Person> {
    public int compare(Person p1, Person p2) {
        return Integer.compare(p1.age, p2.age);
    }
}

// Použitie
List<Person> people = Arrays.asList(new Person("Alice", 30), new Person("Bob", 25));
Collections.sort(people, new AgeComparator());

Tento vzor umožňuje meniť logiku porovnania bez zmeny triedy objektov.