Junior — Middle
Объекттердин салыштыруу тартибин аныктоо үчүн кайсы дизайн үлгүсү колдонулат?
sobes.tech AI
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());
Мындайча айтканда, стратегия үлгүсү салыштыруу логикасын өзгөртүүгө мүмкүндүк берет, объекттердин класын өзгөртпөстөн.