Sobes.tech
Junior — Middle

Obyektlarni taqqoslash tartibini belgilash uchun qaysi dizayn shabloni ishlatiladi?

sobes.tech AI

AIdan javob

Obyektlarni taqqoslash tartibini aniqlash uchun odatda Strategy (Strateji) dizayn shabloni qo'llaniladi.

Bu, taqqoslash algoritmlarining oilasini belgilash, har birini inkapsulyatsiya qilish va ularni almashtiriladigan tarzda ishlatish imkonini beradi.

Java'da bu ko'pincha Comparator<T> interfeysi orqali amalga oshiriladi, u ikki ob'ektni taqqoslash uchun metodni belgilaydi.

Misol:

import java.util.*;

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

// Yoshi bo'yicha taqqoslash strategiyasi
class AgeComparator implements Comparator<Person> {
    public int compare(Person p1, Person p2) {
        return Integer.compare(p1.age, p2.age);
    }
}

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

Shu tarzda, Strategy shabloni, ob'ektlarning taqqoslash mantiqini o'zgartirish imkonini beradi, ob'ekt sinflarini o'zgartirmasdan.