Что такое RPackageTags? Как они связаны с пакетами Монтичелло?

Я пытаюсь узнать о RPackageTag s:

  1. Похоже на то RPackageTag Это что-то вроде подпакетов?
  2. В отличие от, скажем, тегов в OS X, один элемент (здесь один класс) не может иметь более одного тега?
  3. Тег всегда специфичен для RPackage? Теги в Package1-Tag1 и Package2 -Tag1 не являются одинаковыми, то есть являются двумя различными экземплярами RPackageTag?
  4. Существует возможность, что Package1-Tag1 это просто RPackage а также возможность того, что Package1-Tag1 является комбинацией RPackage Пакет 1 и RPackageTag Tag1?

Это правильно? В чем идея внедрения RPackageTag s?

Как RPackageTag связано с пакетами Монтичелло?

2 ответа

Решение

Некоторые ответы:

  1. Да, они как субпакеты
  2. Пока да. Это потому, что нам нужно было сохранить некоторую совместимость между RPackages и категориями системы, и мы решили (пока), что схема будет такой: RPackage+Tag = SystemCategory. Это изменится в будущем, удалив системные категории и позволив тегам быть похожими на теги OSX.
  3. Пока да... см. Пункт (2):)
  4. Нет, ты не можешь. Это происходит из-за проблем организации, возникающих также из-за присоединения тега RPackage + к SystemCategory: если у вас есть пакет AB и пакет A с тегом B, оба будут совместно использовать SystemCategory AB... что очень плохо для организации организации. система.

Конечно, как вы можете видеть, реальная проблема здесь заключается в том, чтобы иметь древний способ организации, все еще находящийся в системе. Это изменится в Pharo4 или (наиболее вероятно) в Pharo5, и сейчас нам нужно жить с этим удобным решением.

Структура пакета колец была принята в Pharo 3. Приблизительно то, что, как было известно, было пакетом MC, стало RPachage, категории чисто малых разговоров исчезли и были заменены RPackageTags. Вы можете думать об этом как о способе создания классифицирующих классов внутри вашего пакета MC. Я не знаю, что решит доска Pharo в будущем, но сейчас у вас может быть только 1 тег на класс.

Другие вопросы по тегам