Junior — Middle
Welche Designmuster kennst du im Kontext der Entwicklung von iOS-Anwendungen?
sobes.tech KI
Antwort von AI
Bei der Entwicklung von iOS-Anwendungen werden häufig folgende Entwurfsmuster verwendet:
- MVC (Model-View-Controller) — Trennung von Daten, Oberfläche und Steuerungslogik.
- MVVM (Model-View-ViewModel) — Trennung der Ansicht von der Geschäftslogik durch ViewModel.
- Delegate (Delegierung) — Verantwortlichkeiten an ein anderes Objekt übertragen, weit verbreitet in UIKit.
- Singleton (Singleton) — Gewährleistet eine einzige Instanz der Klasse, z.B. für einen Einstellungsmanager.
- Observer (Beobachter) — Objekte können sich auf Ereignisse abonnieren, z.B. über NotificationCenter.
Beispiel für die Verwendung eines Delegierten:
protocol MyDelegate: AnyObject {
func didUpdateData()
}
class DataProvider {
weak var delegate: MyDelegate?
func fetchData() {
// Daten laden
delegate?.didUpdateData()
}
}
class ViewController: UIViewController, MyDelegate {
func didUpdateData() {
print("Daten aktualisiert")
}
}