Эквиваленты шаблонов дизайна iOS, если вы пришли из мира C # / Java? - PullRequest
8 голосов
/ 01 февраля 2012

Итак, я новичок в разработке для iOS и делаю все возможное, чтобы узнать «лучший» способ сделать что-то.(Да, я знаю, что это относительный термин)

Я из мира C # и Java, где мы занимаемся такими вещами, как внедрение зависимостей через контейнер IOC, использование шаблона репозитория для абстрагирования доступа к данным, использование служб доменаи объекты для инкапсуляции бизнес-данных и поведения и т. д. Это вещи, которые мне еще предстоит увидеть в разработке для iOS.(Может быть, я смотрю в неправильных местах)

Я понимаю, что Objective-C - это расширенный набор C и динамический / свободно набираемый язык, который, вероятно, изменит игру, когда дело доходит до хорошегоразрабатывает практики.Может ли кто-нибудь указать мне направление некоторых книг / блогов / других, которые помогли бы мне сделать этот мысленный скачок из строго типизированной управляемой среды в этот новый мир, сохраняя при этом мои разработки гибкими и соблюдая принципы SOLID?

РЕДАКТИРОВАТЬ - Я хочу, чтобы здесь было ясно. Я не спрашиваю, как изучать структуру Какао и тонкости Objective-C как языка.Я нашел много ресурсов по этому вопросу.Я хочу перейти на следующий уровень, начать заниматься TDD и убедиться, что проекты, которые я создаю, будут легко расширяться и поддерживаться.

Ответы [ 3 ]

4 голосов
/ 01 февраля 2012

Лучший способ узнать «лучший» способ сделать что-либо - получить как можно более глубокое понимание того, как разрабатываются существующие API-интерфейсы Apple. В конце концов, независимо от того, каков теоретически лучший способ сделать что-то, в конечном счете ваш код должен будет работать с этими API, поэтому имеет смысл, что вы должны следовать аналогичным шаблонам в большинстве случаев.

Что касается книг, то есть одна, называемая «Какао-шаблоны проектирования», которая охватывает именно эту тему и, на основании обзора Amazon, кажется, хорошо принята.

1 голос
/ 01 февраля 2012

Существует множество шаблонов проектирования, характерных для разработки Objective-C и Cocoa, вы найдете очень хорошее резюме в этой книге .Он охватывает встроенные языковые шаблоны, а также некоторые более сложные и высокоуровневые (архитектурные, если хотите) шаблоны.

В общем, принципы SOLID применимы и не менее актуальны в динамическом языке, чем всильно типизированный.Другое дело, что в Objective-C у вас есть возможность использовать сильные типы в своем дизайне, так что в значительной степени применимы все «классические» шаблоны ООП, хотя могут быть некоторые фреймворки / языковые конструкции, более элегантные и подходящие для работы.

1 голос
/ 01 февраля 2012

Я рекомендую вам пройти курс cs193p и прочитать Learning Objective-C с веб-сайта Apple.

Я думаю, что эти две ссылки укажут вам правильное направление относительно того, как все должно работать на iOS.

...