有人可以解释一下 Pharo 中的类组织在不同版本的 Pharo 中是如何工作的吗?
- 所有类都是 Smalltalk 全局的一部分(一直都是,似乎一直这样?)
- 类可以有一个类别,但这只是一种标签? (一直都是,好像还是这样?但有时类别会以某种方式映射到包?)
- There are different kinds of Packages in different Versions of Pharo
- 代表 Monticello 包的 MCPackages
- 封装信息
- R 包(Pharo 1.4)?
此外,还有 SystemNavigation 以某种方式帮助基于上述某些构造导航类和方法?
Classes
事实上,类是关键Smalltalk
global 是一个实现细节。只要类名有一个全局命名空间,实现就可能保持不变。
班级类别
班级类别is非常像一个标签。一个类一次只能属于一个类别。最初,类类别是由Browser
用于组织系统中的课程。
When Monticello
创建后,类类别被重载以指示某个成员的成员资格蒙蒂塞洛套餐 theMCPackage
and PackageInfo
创建类来管理此映射。
PackageInfo
完成所有繁重的工作:查找属于包的类和松散方法。
MCPackage
是蒙蒂塞洛特定的包装器PackageInfo
这增加了一些不一定适合更一般的协议PackageInfo
.
Packages
重载包成员资格的类类别是一个简化采用的巧妙技巧Monticello
(现有的开发工具不需要教Monticello
),但是,它仍然是一个trick。更不用说实施PackageInfo
效率不是很高。
RPackage
是为了解决性能问题而创建的PackageInfo
并用作下一代开发工具的一部分。
两个包的实现都将继续存在,直到PackageInfo
可以逐步淘汰。
系统导航
正如弗兰克所说,
SystemNavigation 是一个类,顾名思义,它允许轻松
查询许多不同的事物:图像中的类,
senders-of、implementors-of、有关加载的包的信息
图像等。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)