Я тоже пришел из C #, и после полугода работы в ObjC я должен сказать, что, безусловно, можно полностью следовать принципам DDD в Objective-C.Частично из-за статической / динамической гибридной природы языка smalltalk-ish.
Например, вы можете очень легко «перехватить» сообщение, отправленное объектам (так называемый перехват вызовов методов), просто переопределив несколько методов, которые делаютDI и модульное тестирование очень легко выполнить, если вы понимаете, что я имею в виду.
Кроме того, большая центральная диспетчеризация обеспечивает очень хорошую отправку сообщений в разных системах, которые вы можете использовать для облегчения связимежду большими частями вашего домена.
Наконец, соглашение *1000* о значении ключа в базовой структуре позволяет легко подключать ваши доменные объекты к элементам пользовательского интерфейса и отражать изменения в реальномвремя.
т.е. вместо того, чтобы напрямую манипулировать сервисными объектами, ваши контроллеры вместо этого будут отправлять команды одному из ваших доменных объектов, которые будут изменять его состояние.Эти состояния затем легко отражаются обратно, заставляя ваш контроллер наблюдать изменения (через механизм KVO.)
Так что я бы сказал, что в ObjC вполне возможно / даже проще следовать принципу DDD.
Что касается примеров, я никогда не видел ни одного.Но, конечно, нетрудно следовать той же структуре, которую вы используете в проектах C # (не копируйте их, а смоделируйте аналогично).Изучение технологий, о которых я упоминал, также поможет вам.