Junior — Middle
Koji obrazac dizajna se koristi za određivanje reda poređenja objekata?
sobes.tech АИ
Одговор од АИ
Obično se koristi šablon dizajna Strategy (Strategija) za određivanje reda poređenja objekata.
Ovaj šablon omogućava definisanje porodice algoritama poređenja, inkapsuliranje svakog od njih i njihovo međusobno zamenjivo korišćenje.
U Javi, to se često implementira putem interfejsa Comparator<T>, koji definiše metodu za poređenje dva objekta.
Primer:
import java.util.*;
class Person {
String name;
int age;
Person(String name, int age) {
this.name = name;
this.age = age;
}
}
// Strategija poređenja po starosti
class AgeComparator implements Comparator<Person> {
public int compare(Person p1, Person p2) {
return Integer.compare(p1.age, p2.age);
}
}
// Upotreba
List<Person> people = Arrays.asList(new Person("Alice", 30), new Person("Bob", 25));
Collections.sort(people, new AgeComparator());
Na ovaj način, šablon Strategy omogućava promenu logike poređenja bez izmene klase objekata.