什么是RPackageTags?它们与蒙蒂塞洛包裹有什么关系?

时间:2014-08-10 18:49:09

标签: smalltalk pharo monticello

我尝试了解RPackageTag s:

  1. 似乎RPackageTag只是子包
  2. 与OS X中的标签不同,一个项目(此处为一个类别)不能有多个标签?
  3. 标记始终特定于RPackage Package1-Tag1 Package2-Tag1 中的标签不一样,即RPackageTag的两个不同实例?
  4. Package1-Tag1 只是RPackage的可能性以及 Package1-Tag1 RPackage组合的可能性 Package1 RPackageTag Tag1
  5. 是吗?引入RPackageTag s背后的想法是什么?

    RPackageTag与蒙蒂塞洛包裹有什么关系?

2 个答案:

答案 0 :(得分:2)

一些答案​​:

  1. 是的,它们就像子包
  2. 现在,是的。这是因为我们需要在RPackages和System Categories之间保持一些兼容性,我们决定(现在),该方案将是:RPackage + Tag = SystemCategory。通过删除系统类别并允许标记类似于OSX标记,这将在未来发生变化。
  3. 现在,是的......见第(2)点:)
  4. 不,你不能。这是因为从附加RPackage + Tag附加到SystemCategory的组织问题:如果你有一个包AB和一个带有标签B的包A,两者都会共享SystemCategory AB ...这对于组织系统。
  5. 当然,正如你所看到的,这里真正的问题是在系统中有一种古老的组织方式。这将在Pharo4或(最有可能)Pharo5中发生变化,现在我们需要使用这种便利解决方案。

答案 1 :(得分:0)

Pharo 3中采用了环形包装结构。大约已知的MC包装成为RPachage,纯小细胞类别消失,被RPackageTag取代。您可以将其视为在MC包中创建分类类的一种方法。我不知道Pharo董事会将来会做出什么决定,但现在每个班级只能有1个标签。