Die meisten iOS-Apps basieren auf dem MVC-Design-Muster und wir verwenden Singleton-Klassen in unseren Apps seit vielen Jahren. Ich weiß, dass Singleton selbst ein Designmuster ist und viele betrachten es als Anti-Pattern und all die guten schlechten Sachen über Singletons.iOS Singleton-Klasse innerhalb der MVC-Architektur
Aber wenn Sie MVC als eine Gesamtarchitektur für Ihre App-Entwicklung betrachten, würde ich gerne verstehen, wo ein Singleton darin kategorisiert wird. Ist es ein Modell, eine Ansicht oder ein Controller? Wenn ja warum? Wenn es keiner dieser drei gehört, was ist es dann?
Das mag eine dumme Frage scheinen, aber es stört mich, wie mir diese Frage in einem Interview in einer renommierten Firma gestellt wurde.
View-Controller werden häufig bei Bedarf erstellt und automatisch freigegeben, wenn sie nicht mehr benötigt werden. Diese Art von View-Controller könnte kein Singleton sein. Wenn Ihr View-Controller ein Singleton wäre, würde ich Ihre Entscheidung in Frage stellen. Auf der anderen Seite wäre für eine Model-Klasse ein Singleton überhaupt nicht ungewöhnlich. – gnasher729
Ich sagte 'in der Theorie', und der Beitrag fragt nach MVC nicht, was mit dem ios-Entwicklungsrahmen möglich ist. Es geht nicht um Best Practice, sondern darum, welcher "Teil" von MVC ein Singleton ist, und das ist keine logische Frage, die man in einem Interview stellen muss. Wenn die Frage tatsächlich lautet: "Wo würden Sie am liebsten einen Singleton in einer iOS-App verwenden?", Dann würde das die Antwort ändern ... Ich werde sie bearbeiten, um sie zu klären. – Toby