Coredata: реализация шаблона стратегии - PullRequest
1 голос
/ 05 августа 2010

Я пытаюсь реализовать шаблон Стратегии, используя Базовые данные и Цель C.

Для упрощения у меня есть, скажем, многоязычная сущность Text, которая имеет несколько атрибутов, таких как Date для последнего сохраненного и NSSString для автора и т. Д. И т. Д. Я хочу добавить ссылку на объект Language, который может быть одним из нескольких подклассов, таких как French, Italian и т. д., содержащий текст NSString на языке имени класса. Каждый из подклассов Language может реализовывать свои собственные методы translateTo и translateFrom, и экземпляру Text не нужно беспокоиться об этом. Шаблон простой стратегии.

Создано yuml.me http://yuml.me/1caedd69

Я действительно изо всех сил пытаюсь установить такого рода отношения с Базовыми данными, где определенная сущность Text может быть настроена со своей собственной реализацией Language в зависимости от деталей экземпляра.

Я полагаю, в двух словах, что я пытаюсь сделать, это создать отношение «есть», где сущность внутри Text сущности может быть одним из нескольких подтипов Language.

Базовые данные для меня совершенно новые, поэтому, если я полностью упускаю суть здесь или пропустил что-то явно очевидное, пожалуйста, дайте мне знать.

1 Ответ

3 голосов
/ 05 августа 2010

Вы можете иметь абстрактные объекты. Я бы создал абстрактную сущность Language, взаимосвязь между текстом и языком и конкретные субтитры Language, называемые итальянским, французским и т. Д. Пример с редактором Xcode: Редактор Xcode, показывающий диаграмму, очень похожую на Оригинальный вопрос http://files.droplr.com.s3.amazonaws.com/files/762938/1u3s2W.Screen%20shot%202010-08-05%20at%2010%3A50%3A57.png

Затем вы должны установить .language отношение вашего текста с новым итальянским или французским NSManagedObject по мере необходимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...