Просто проверьте настройки Build Settings => Enable Bitcode и установите NO
Ваш домен, вероятно, имеет имя, таким образом, необходимо использовать это имя в качестве пространства имен.
я usally поместил реализацию репозитория и детали доступа к данным в пространстве имен под названием Постоянство под доменным пространством имен.
использование приложения его собственное имя как пространство имен.
Мне нравится иметь домен в корневом пространстве имен приложения в его собственном блоке:
Acme.Core.dll
[корневое пространство имен: Acme
]
Это аккуратно представляет то, что домен в пределах всех других частей приложения. (Для больше, см. Луковая Архитектура Jeffrey Palermo).
Затем, у меня есть блок данных (обычно с NHibernate), который отображает объекты области на базу данных. Этот слой реализует сервисные интерфейсы и репозиторий:
Acme.Data.dll
[корневое пространство имен: Acme.Data
]
Затем у меня есть объявление блока презентации элементы моего UI-pattern-of-choice:
Acme.Presentation.dll
[корневое пространство имен: Acme.Presentation
]
Наконец, существует проект UI (принятие веб-приложения здесь). Это - то, где состав элементов в предыдущих слоях происходит:
Acme.Web
[корневое пространство имен: Acme.Web
]
Я проверил бы codecampserver начиная с установки, там довольно распространено.
у Них есть базовый проект, в который они включают и приложение и доменные слои. Т.е. внутренности лука ( http://jeffreypalermo.com/blog/the-onion-architecture-part-1/ ).
мне на самом деле нравится разбивать ядро на отдельные проекты управлять направлением зависимости. Так обычно я имею:
MyNamespace. SomethingWeb < - несколько UIs
MyNamespace. ExtranetWeb < - несколько UIs
MyNamespace. Приложение < - прикладной уровень Evans с классами как CustomerService
MyNamespace. Домен
MyNamespace. Инфраструктура < - repo реализация и т.д.
MyNamespace. Общий < - проект, который все другие проекты имеют зависимость, к которой имеет вещи как Регистратор, классы Util, и т.д.
Хотя Вы - также разработчик .NET, , ссылка реализации Java грузового приложения от DDD Eric Evans и Citerus является хорошим ресурсом.
В коде doc'd, Вы видите DDD-организацию в ограниченные контексты и агрегируетесь в действии, прямо в пакетах Java.
Кроме того, Вы могли бы рассмотреть Billy McCafferty Архитектура Sharp . Это - ASP.NET MVC, реализация NHibernate/Fluent NHibernate, которая создается с DDD в памяти.
По общему признанию, необходимо будет все еще применить решение для папки/пространства имен обеспечить контексты. Но, свяжите подход Evans с #Arch, и необходимо хорошо быть на пути.
Сообщают нам то, с чем Вы идете. Я нахожусь на том же пути также, и недалеко от Вас!
Счастливое кодирование,
Kurt Johnson
Я пытаюсь сохранить вещи очень простыми каждый раз, когда я могу, так обычно что-то вроде этого работает на меня:
Myapp. Домен - Все зависящие от домена классы совместно используют это пространство имен
Myapp. Данные - Тонкий слой, который абстрагирует базу данных от домена.
Myapp. Приложение - Весь "код поддержки", вход, совместно использовал служебный код, сервисные потребители и т.д.
Myapp. Сеть - веб-UI
Так классы будет, например:
И т.д.
идея, которую я пытаюсь иметь в виду, поскольку я продвигаюсь, состоит в том, что "доменное" пространство имен - то, что получает фактическую логику приложения. Таким образом, что идет существует то, что можно говорить со "специалистами по проблемной области" (Чуваки, которые будут использовать приложение) о. Если я кодирую что-то из-за чего-то, что они упомянули, это должно быть в доменном пространстве имен, и каждый раз, когда я кодирую что-то, что они не упомянули (как вход, прослеживая ошибки и т.д.), это не должно быть в доменном пространстве имен.
из-за этого я также осторожен о создании иерархий слишком сложного объекта. Идеально несколько упрощенный рисунок модели предметной области должен быть интуитивно понятным некодерами.
С этой целью я обычно не начинаю путем размышления о шаблонах в большом количестве деталей. Я пытаюсь смоделировать домен, столь простой, как мне может сойти с рук, после просто стандартного объектно-ориентированного руководства по проектированию. Какие потребности быть объектом? Как они связаны?
DDD в моем уме об обработке сложного программного обеспечения, но если Ваше программное обеспечение не самостоятельно очень сложно для начала с Вас, мог бы легко закончиться в ситуации, где способ DDD сделать вещи добавляет сложность, а не удаляет ее.
, После того как у Вас есть определенный уровень сложности в Вашей модели, которую Вы начнете видеть, как определенные вещи должны быть организованы, и затем Вы будете знать, какие шаблоны использовать, какие классы являются агрегатами и т.д.
В моем примере, Myapp. Домен. Продажи. Порядок был бы совокупным корнем в том смысле, что, когда он инстанцируется, он будет, вероятно, содержать другие объекты, такие как клиентский объект и набор строк порядка, и Вы только получили бы доступ к строкам порядка для того особого порядка через объект порядка.
Однако для хранения вещей простыми, у меня не было бы "основного" объекта, который только содержит все остальное и не имеет никакой другой цели, таким образом, класс порядка будет самостоятельно иметь значения и свойства, которые полезны в приложении.
, Таким образом, я сошлюсь на вещи как:
Myapp. Домен. Продажи. Порядок. TotalCost
Myapp. Домен. Продажи. Порядок. OrderDate
Myapp. Домен. Продажи. Порядок. Клиент. PreferredInvoiceMethod
Myapp.Domain.Sales.Order.Customer.Address.Zip
и т.д.