Coredata:战略模式实施

时间:2010-08-04 21:04:46

标签: objective-c cocoa core-data strategy-pattern

我正在尝试使用Core Data和Objective C实现策略模式。

为了简化,我有一个多语言Text实体,它有几个属性,例如上次保存的Date和作者等的NSSString等。想要添加对Language实体的引用,该实体可能是几个子类中的一个,例如FrenchItalian等等,在{1}}中保留NSString个文本类名的语言。每个Language子类都可以实现自己的translateTotranslateFrom方法,Text实例不需要担心它。简单的战略模式。

Created by yuml.me http://yuml.me/1caedd69

我真的很难与Core Data建立这种关系,根据实例的细节,可以使用自己的Text实现设置某个Language实体。< / p>

我想简而言之,我要做的是创建一个“has-a”关系,Text实体中的实体可以是Language的几种子类型之一。

核心数据对我来说很新鲜,所以如果我完全忽略了这一点,或者错过了一些明显的东西,请告诉我。

1 个答案:

答案 0 :(得分:3)

您可以拥有抽象实体。我将创建一个语言抽象实体,一个文本和语言之间的关系,以及语言的具体子实体,称为意大利语,法语等。使用Xcode编辑器的示例:The Xcode editor showing a diagram much like the one in the original question http://files.droplr.com.s3.amazonaws.com/files/762938/1u3s2W.Screen%20shot%202010-08-05%20at%2010%3A50%3A57.png

然后,您可以根据需要将文本的.language关系设置为新的意大利语或法语NSManagedObject