Sobes.tech
Junior — Middle

Функсияи асосии намунаи Factory дар барномасозии объектӣ чист?

sobes.tech AI

Ҷавоб аз AI

Наслиҳати Factory дар барномаи объектӣ-ҳуқуқӣ барои эҷоди объектҳо бидуни зарурати нишон додани синфи мушаххаси объект, ки бояд эҷод шавад. Вай вазифаи асосии худро дорад — ин капсуликунии логикаи эҷоди объектҳо, ки имкон медиҳад:

  • аз вобастагии сахт дар коди вобаста ба синфҳои мушаххас раҳоӣ ёбад,
  • содда кардани васеъшавӣ ва нигоҳдории коди (масалан, илова кардани намудҳои нав дар объектҳо),
  • марказиятнокии эҷоди объектҳо, ки ин ба хонданпазирӣ ва идоракунии беҳтар кӯмак мекунад.

Масалан, як Factory оддӣ дар Java:

interface Animal {
    void speak();
}

class Dog implements Animal {
    public void speak() { System.out.println("Woof"); }
}

class Cat implements Animal {
    public void speak() { System.out.println("Meow"); }
}

class AnimalFactory {
    public static Animal createAnimal(String type) {
        if ("dog".equalsIgnoreCase(type)) return new Dog();
        else if ("cat".equalsIgnoreCase(type)) return new Cat();
        else throw new IllegalArgumentException("Unknown animal type");
    }
}

// Истифода:
Animal animal = AnimalFactory.createAnimal("dog");
animal.speak(); // Натиҷа: Woof