Ingalls测试有什么意义?

时间:2011-03-24 02:09:09

标签: language-agnostic

Ingalls测试(以Dantalls命名,Smalltalk的设计者之一)用于面向对象说你应该能够创建一种新的整数并用它来定位屏幕上的窗口。

我不明白; Ingalls测试的重点是什么?

2 个答案:

答案 0 :(得分:2)

我也没有听说过,但这听起来像是对面向对象的严格程度以及与语言的显式类型分离的测试。对于Smalltalk和动态语言来说,这是一个非常大的想法。

那么,Ingalls测试看起来像是一个试金石:“我们可以重新定义语言中的一些基本的低级概念,并且通过核心库将这种变化很好地工作到高级 - 像GUI工具包一样。“

因此,像Java这样的语言会对此产生严重影响; “int”甚至不是一个合适的对象。但是,严格的面向对象的动态类型语言应该能够管理这一壮举。您可能想要阅读Duck Typing的概念,因为它与此处的想法密切相关。

答案 1 :(得分:0)

我在这里完全没有回答,但我的猜测是,在“正确”设计的面向对象语言中,整数将是一个接口,您可以开发自己的实现并在本机整数的任何地方使用它被使用了。我从来没有听说过这个测试,但我喜欢它的想法。

我相信这个测试会排除C#和Java(虽然我有一段时间没有编写任何Java,所以事情可能已经改变了。)