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());

Мындайча айтканда, стратегия үлгүсү салыштыруу логикасын өзгөртүүгө мүмкүндүк берет, объекттердин класын өзгөртпөстөн.