Sobes.tech
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());

Ин намуна имкон медиҳад, ки логикаи муқоиса тағир дода шавад бе тағир додани синфи объектҳо.