2011-03-24 28 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概念讀,因爲它是密切相關的想法在這裏。