Платформа внедрения зависимости для Какао? [закрытый]

Я боролся с тем же сообщением об ошибке в SQL SERVER, так как у меня было несколько объединений, изменение порядка соединений было решено для меня.

52
задан Barry Wark 17 January 2009 в 20:10
поделиться

5 ответов

Я думаю, что Вы найдете, что Вам не нужен он на языках позднего связывания как Objective C, Ruby, Lisp и так далее. Как откровение Jamis, что он спускался по чрезмерно сложному контуру, когда он пытался создать иглу, платформу DI для Ruby - Сеть:: SSH пересмотрел .

Вот некоторые ссылки, которые, надо надеяться, дадут Вам некоторый пример кода, чтобы сделать подобные вещи в Objective C. С категориями можно по существу изменить поведение любого класса во времени выполнения. См. Подсказки Разработчика Mac †“Objective C: Категории и Какао документы API о категориях . По существу Вам не нужно некоторое центральное место для просьбы "вещь, которая делает x", который настраивается, потому что можно просто инстанцировать TheThingThatDoesX непосредственно и если что-то еще должно измениться/сцепить в то поведение, это может использовать категории.

11
ответ дан Otto 7 November 2019 в 19:31
поделиться

DI - это свойство среды выполнения, требующей динамической привязки. Я новичок в Obj-C и Cocoa, поэтому могу говорить вне очереди. Если я чего-то не упускаю, я не понимаю, как можно реализовать DI, кроме как путем интерпретации Obj C, а не его компиляции, или путем изменения среды выполнения.

Я подозреваю, что DI-подобное поведение IB обусловлено тем, что существует специфическая для домена среда выполнения, связанная с приложениями, созданными с ее помощью.

Я рад, что меня поправили.

Категории кажутся реализацией миксинов, позволяющей динамическую отправку методов делегату. Довольно круто и похоже на концепцию интерфейса Java, хотя детали отличаются, и я могу ' t посмотреть, можно ли определить константы в категории, хотя поля-члены не могут.

Objective-c категории

-2
ответ дан 7 November 2019 в 09:31
поделиться

Кто-нибудь смотрел на функцию Ассоциативные ссылки в Mac OS X 10.6?

Я считаю, что с ее помощью можно было бы создать или уже иметь что-то похожее на DI. Однако, насколько я видел, любая ссылка, которая необходима в объекте, должна быть получена вручную с помощью objc_getAssociatedObject ().

Манфред

-1
ответ дан 7 November 2019 в 09:31
поделиться

Вы не должны инстанцировать объекта в файле NIB. Если Вы устанавливаете Владельца Файла на класс своего объекта и затем связываете вещи в view/window/whatever, до которого, можно установить объект как владелец во времени выполнения путем загрузки файла пера вручную. Тем путем у Вас может быть динамический экземпляр объекта, который все еще ввел зависимости правильно.

4
ответ дан Jason Coco 7 November 2019 в 19:31
поделиться

Я весь день работаю с Spring, и я проверил Groovy. Я ни в коем случае не эксперт XCode/Какао, но IB делает только некоторое внедрение зависимости, которое Groovy не делает даже действительно требований сделать.

я считаю, что Вы не ищете DI, а скорее для хорошо скомпилированного набора интегрированных библиотек, который сохраняет Вас от ввода большого количества кода, который также ввели другие люди. Я думаю, что нет никакого Spring как платформы для Какао, потому что по некоторым причинам люди склонны рассматривать "Открытый исходный код" как "не иждивенец платформы", и поэтому Какао немного не учтено в холоде.

В зависимости от Ваших потребностей, хотя, существуют некоторые хорошие свободные библиотеки с открытым исходным кодом, доступные для Какао, все перечисленные на CocoaDev в хороший список .

я знаю, что это не Spring, но я надеюсь, что это помогает.

-2
ответ дан Rolf 7 November 2019 в 19:31
поделиться