Sobes.tech
Junior — Middle

Μπορείτε να εξηγήσετε την έννοια της αφηρημένης κατασκευής και τον σκοπό της στα πρότυπα σχεδίασης;

sobes.tech AI

Απάντηση από AI

Η αφηρημένη εργοστασιακή μέθοδος είναι ένα δημιουργικό μοτίβο σχεδίασης που παρέχει μια διεπαφή για τη δημιουργία οικογενειών σχετικών ή εξαρτώμενων αντικειμένων χωρίς να καθορίζει τις συγκεκριμένες τους κλάσεις.

Ο σκοπός του μοτίβου είναι να διασφαλίσει τη δημιουργία αντικειμένων που πρέπει να λειτουργούν μαζί, κρύβοντας τις λεπτομέρειες της υλοποίησής τους. Αυτό είναι χρήσιμο όταν το σύστημα πρέπει να είναι ανεξάρτητο από τον τρόπο δημιουργίας, σύνθεσης και παρουσίασης των προϊόντων.

Παράδειγμα: σε μια εφαρμογή iOS, μπορεί να χρησιμοποιηθεί μια αφηρημένη εργοστασιακή μέθοδος για τη δημιουργία στοιχείων UI που φαίνονται διαφορετικά σε iOS και macOS, αλλά έχουν την ίδια διεπαφή.

protocol Button {
    func render()
}

class iOSButton: Button {
    func render() {
        print("Απεικόνιση κουμπιού στυλ iOS")
    }
}

class MacOSButton: Button {
    func render() {
        print("Απεικόνιση κουμπιού στυλ macOS")
    }
}

protocol UIFactory {
    func createButton() -> Button
}

class iOSFactory: UIFactory {
    func createButton() -> Button {
        return iOSButton()
    }
}

class MacOSFactory: UIFactory {
    func createButton() -> Button {
        return MacOSButton()
    }
}

// Χρήση
let factory: UIFactory = iOSFactory()
let button = factory.createButton()
button.render() // Απεικόνιση κουμπιού στυλ iOS