Sobes.tech
Junior — Middle

Nesnelerin karşılaştırma sırasını belirlemek için hangi tasarım deseni kullanılır?

sobes.tech yapay zeka

AI'dan gelen yanıt

Nesnelerin karşılaştırma sırasını belirlemek için genellikle Strategy (Strateji) tasarım deseni kullanılır.

Bu, karşılaştırma algoritmalarının bir ailesini tanımlamaya, her birini kapsüllemeye ve bunları birbirinin yerine kullanmaya olanak tanır.

Java'da bu genellikle Comparator<T> arayüzü aracılığıyla gerçekleştirilir, bu da iki nesneyi karşılaştırmak için bir yöntem belirler.

Örnek:

import java.util.*;

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

// Yaşa göre karşılaştırma stratejisi
class AgeComparator implements Comparator<Person> {
    public int compare(Person p1, Person p2) {
        return Integer.compare(p1.age, p2.age);
    }
}

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

Bu şekilde, Strategy deseni, nesnelerin karşılaştırma mantığını değiştirmeyi sağlar, nesne sınıflarını değiştirmeden.