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