2011-03-24 29 views
0

面向对象的Ingalls测试(以Smalltalk的设计师之一Dan Ingalls命名)表示,您应该能够创建一种新的整数并将其用于在屏幕上定位窗口。什么是英格尔斯测试的意义呢?

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

+0

您能否为我们这些从未听说过Ingalls测试的人提供参考? – 2011-03-24 02:11:30

+0

@马特球 - 我想我看到它在一本关于Objective-C的。 – Rudd 2011-03-24 02:14:20

+1

@马特球:它引用[这里](http://www.informit.com/articles/article.aspx?p=1671638):“丹英格尔斯,Smalltalk中的设计师之一,提出了测试是否语言是面向对象的。在一个面向对象的语言中,用户应该能够创建新的类型整数,用它来在系统提供的窗口类绘制指定坐标“。 – 2011-03-24 02:16:26

回答

0

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

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

2

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

那么,在英格尔斯测试似乎是一个试金石为:“我们可以重新定义语言中的一些基本的低层次的概念,并有通过核心库,转变工作很好地一路攀升的东西高层就像一个GUI工具包一样。“

因此,像Java这样的语言会在这方面下了很大的功夫; “int”甚至不是一个适当的对象。然而,严格的面向对象的动态类型语言应该能够管理这个壮举。您可能需要对Duck Typing概念读,因为它是密切相关的想法在这里。