Рекомендуемый фреймворк IoC для iOS? [закрыто]

Может ли кто-нибудь порекомендовать хорошую инфраструктуру IoC для iOS, чтобы облегчить внедрение зависимостей?

Единственный, который у меня есть? На данный момент найдено Objection Framework , которое, по-видимому, похоже на Guice (которое, к сожалению, мне незнакомо). Является ли этот вариант обычным выбором для iOS и есть ли конкурирующие структуры, которые стоит проверить?

24
задан Clafou 8 January 2012 в 23:35
поделиться

3 ответа

... есть ли конкурирующие фреймворки, которые стоит проверить?

Возражение - это библиотека DI, которую я могу найти в Google для iOS, так что вы можете застрять с ним, если вы хотите предварительно встроенную библиотеку.

DI специально не требует основы для использования. Если ваше приложение маленькое, вы можете просто создать все свои экземпляры в корне приложения и ввести вручную.

Если вам нужно больше, чем это, и существующие фреймворки не делают этого за вас, вы можете свернуть свой собственный Service Locator, а затем построить DI-контейнер поверх него.

Вы также можете перенести существующий меньший фреймворк с другой платформы. В .Net есть несколько «маленьких», например - Ninject и SimpleInjector .

Это один из распространенных вариантов для iOS ...?

Кажется, что это довольно маленький проект, поскольку в списке указан только один автор / участник. Там не так много вопросов, поданных. Рынок iOS довольно большой, хотя. Поэтому я думаю, что только очень небольшая часть всех разработчиков iOS использует эту библиотеку.

1114 Но это не обязательно плохо. Кажется, что он создан, используется и поддерживается небольшой компанией . Это было довольно устойчивые обновления за прошедший год .

Мой анекдотичный опыт работы с проектами с открытым исходным кодом схожей области применения: я не всегда получаю новые функции слишком часто, и я часто заканчиваю тем, что нахожу ошибки Но я склонен очень быстро получать поддержку существующего набора функций, и большое внимание уделяется поддержке отправленных мною электронных писем. YMMV.

15
ответ дан 28 November 2019 в 23:19
поделиться

Тайфун

На веб-сайте Тайфун перечислены основные функции. Краткое резюме:

  • Неинвазивный. Никаких макросов или XML не требуется. Конфигурирование выполняется с использованием Objective-C или Swift API , который использует преимущества среды выполнения Objective-C.

  • Легкий вес . Всего 2500 строк кода. Он занимает очень мало места, поэтому подходит для устройств с ограниченным процессором и памятью. Настроен на производительность.

  • Позволяет легко иметь несколько конфигураций одного базового класса или протокола.

  • Нет волшебных строк - поддерживает рефакторинг IDE, завершение кода и проверку во время компиляции.

  • Поддерживает внедрение контроллеров представления и интеграцию раскадровки.

  • Поддерживается как инициализация, так и внедрение свойств, а также управление жизненным циклом.

  • Мощные функции управления памятью. Предоставляет предварительно сконфигурированные объекты без использования памяти синглетонов.

  • Отличная поддержка циклических зависимостей.

  • Испытано в бою - используется во всех видах приложений с магазином приложений.

  • Международная распределенная основная команда (мы даже отслеживаем StackOverflow), поэтому поддержка по любым вашим вопросам всегда рядом:)

Документы API и примеры app

21
ответ дан 28 November 2019 в 23:19
поделиться

Что ж, надеюсь, вы простите мне небольшую заглушку, но я только что выпустил свою собственную структуру DI для Objective-C: Шприц

https: // github. com / tomekc / Syringe

Он упрощен и легок по назначению, моей главной целью было сделать его как можно более навязчивым. У меня сильный Java-опыт, поэтому я разработал его после Google Guice и Spring.

11
ответ дан 28 November 2019 в 23:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: