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

ამგვარად, სტრატეგიის ნიმუში საშუალებას აძლევს შეცვალოს შედარების ლოგიკა, ობიექტების კლასს შეცვლის გარეშე.