Junior — Middle
Kura dizaina shablons tiek izmantots, lai noteiktu objektu salīdzināšanas kārtību?
sobes.tech AI
Atbilde no AI
Parasti objektu salīdzināšanas kārtību nosaka Strategy (Strategijas) dizaina paraugs.
Tas ļauj definēt salīdzināšanas algoritmu ģimeni, katru no tiem ietvert un izmantot maināmi.
Java tas bieži tiek īstenots ar Comparator<T> saskarni, kas nosaka metodi divu objektu salīdzināšanai.
Piemērs:
import java.util.*;
class Person {
String name;
int age;
Person(String name, int age) {
this.name = name;
this.age = age;
}
}
// Vecuma salīdzināšanas stratēģija
class AgeComparator implements Comparator<Person> {
public int compare(Person p1, Person p2) {
return Integer.compare(p1.age, p2.age);
}
}
// Lietošana
List<Person> people = Arrays.asList(new Person("Alice", 30), new Person("Bob", 25));
Collections.sort(people, new AgeComparator());
Tādējādi, Strategy šablons ļauj mainīt salīdzināšanas loģiku, nemainot objektu klases.