Sobes.tech
Junior — Middle

Ποια μοτίβα σχεδίασης χρησιμοποιείτε κατά την ανάπτυξη εφαρμογών για iOS;

sobes.tech AI

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

Κατά την ανάπτυξη εφαρμογών iOS, συχνά χρησιμοποιούνται τα ακόλουθα μοτίβα σχεδίασης:

  • MVC (Μοντέλο-Προβολή-Ελεγκτής) — διαχωρισμός δεδομένων, διεπαφής και λογικής ελέγχου.
  • MVVM (Μοντέλο-Προβολή-ΠροβολήΜοντέλο) — βελτιώνει τη δοκιμαστικότητα και τη σύνδεση δεδομένων.
  • Singleton — για τη δημιουργία μιας μοναδικής στιγμής μιας κλάσης, π.χ., για έναν διαχειριστή ρυθμίσεων.
  • Delegate — για τη μεταφορά γεγονότων μεταξύ αντικειμένων.
  • Observer — για την αντίδραση σε αλλαγές κατάστασης.

Παράδειγμα χρήσης του μοτίβου Delegate σε Swift:

protocol DataUpdateDelegate: AnyObject {
    func didUpdateData()
}

class DataProvider {
    weak var delegate: DataUpdateDelegate?

    func fetchData() {
        // φόρτωση δεδομένων
        delegate?.didUpdateData()
    }
}

class ViewController: UIViewController, DataUpdateDelegate {
    let provider = DataProvider()

    override func viewDidLoad() {
        super.viewDidLoad()
        provider.delegate = self
        provider.fetchData()
    }

    func didUpdateData() {
        // ενημέρωση UI
    }
}