Что такое RPackageTags? Как они связаны с пакетами Монтичелло?
Я пытаюсь узнать о RPackageTag
s:
- Похоже на то
RPackageTag
Это что-то вроде подпакетов? - В отличие от, скажем, тегов в OS X, один элемент (здесь один класс) не может иметь более одного тега?
- Тег всегда специфичен для
RPackage
? Теги в Package1-Tag1 и Package2 -Tag1 не являются одинаковыми, то есть являются двумя различными экземплярамиRPackageTag
? - Существует возможность, что Package1-Tag1 это просто
RPackage
а также возможность того, что Package1-Tag1 является комбинациейRPackage
Пакет 1 иRPackageTag
Tag1?
Это правильно? В чем идея внедрения RPackageTag
s?
Как RPackageTag
связано с пакетами Монтичелло?
2 ответа
Некоторые ответы:
- Да, они как субпакеты
- Пока да. Это потому, что нам нужно было сохранить некоторую совместимость между RPackages и категориями системы, и мы решили (пока), что схема будет такой: RPackage+Tag = SystemCategory. Это изменится в будущем, удалив системные категории и позволив тегам быть похожими на теги OSX.
- Пока да... см. Пункт (2):)
- Нет, ты не можешь. Это происходит из-за проблем организации, возникающих также из-за присоединения тега RPackage + к SystemCategory: если у вас есть пакет AB и пакет A с тегом B, оба будут совместно использовать SystemCategory AB... что очень плохо для организации организации. система.
Конечно, как вы можете видеть, реальная проблема здесь заключается в том, чтобы иметь древний способ организации, все еще находящийся в системе. Это изменится в Pharo4 или (наиболее вероятно) в Pharo5, и сейчас нам нужно жить с этим удобным решением.
Структура пакета колец была принята в Pharo 3. Приблизительно то, что, как было известно, было пакетом MC, стало RPachage, категории чисто малых разговоров исчезли и были заменены RPackageTag
s. Вы можете думать об этом как о способе создания классифицирующих классов внутри вашего пакета MC. Я не знаю, что решит доска Pharo в будущем, но сейчас у вас может быть только 1 тег на класс.