Clases
El hecho de que las clases son claves en el Smalltalk
mundial es un detalle de implementación. Siempre que haya un solo espacio de nombre global para los nombres de las clases, es probable que la implementación se mantenga igual.
categorías de clase
La categoría de clase es muy parecido a una etiqueta. Una clase solo puede estar en una categoría a la vez. Originalmente, la categoría de clase fue utilizada por el Browser
para organizar las clases en el sistema.
Cuando Monticello
fue creado, la categoría de clase estaba sobrecargado para indicar también la pertenencia a un paquete Monticello se crearon las clases MCPackage
y PackageInfo
para gestionar este mapeo.
PackageInfo
hace todo el trabajo pesado: encontrar las clases y los métodos sueltos que pertenecen a un paquete.
MCPackage
es un envoltorio específico de Monticello para PackageInfo
que agrega algún protocolo que no era necesariamente apropiado para el más general PackageInfo
.
Paquetes
la sobrecarga de la categoría de clase para ser miembro paquete era un buen truco para facilitar la adopción de Monticello
(herramientas de desarrollo existentes no necesitan ser enseñados Monticello
), sin embargo, todavía es un truco . Sin mencionar el hecho de que la implementación de PackageInfo
no fue muy eficiente.
RPackage
fue creado para solucionar los problemas de rendimiento de PackageInfo
y para ser utilizado como parte de la próxima generación de herramientas de desarrollo.
Ambas implementaciones de paquete continuarán existiendo hasta que PackageInfo
se puedan eliminar.
SystemNavigation
Como dice Frank,
SystemNavigation es una clase que, como su nombre indica, permite una fácil consulta de un número de cosas diferentes: las clases en la imagen, remitentes-de, implementadores-de, información sobre paquetes cargados en la imagen y así sucesivamente.
Tal vez alguien podría agregar una etiqueta de Monticello. Lo intenté, pero no tengo los derechos para hacer esto. –