Я нашел несколько предложений по этой теме, но все же есть кое-что для меня оставленное открытым.
Вопрос касается разработки приложения (с точки зрения разработки), особенно в отношении моделей.
Например, я создаю приложение с помощью Facebook SDK. Я думаю, что было бы разумно иметь модельный класс для связи с API Facebook. И я думаю, что имеет смысл сделать этот класс синглтоном (не обязательно).
Но Facebook SDK для iOS основан на делегатах. Таким образом, вы отправляете запрос, и ответ возвращается в методе делегата в модели. Это нормально, но я также хотел бы назначить делегата для модели, чтобы затем вызывался контроллер представления.
Так, например, контроллер представления использует модель Facebook-singleton для выполнения запроса, но хочет установить себя в качестве делегата для этого запроса, чтобы модель вызывала этого делегата по завершении запроса.
Но эта модель является одиночной, у нее есть только один делегат (и я хочу, чтобы она оставалась такой).
Так перезаписать ли указатель делегата в Facebook-синглтоне перед каждым вызовом? (Не очень хорошо, потому что другой запрос может начаться в то же время с использованием того же синглтона, и делегат будет снова перезаписан).
Так что же такое хорошая архитектура? Каковы рекомендации по повторному использованию моделей в приложении?