我看到很多用于.Net和Java的IoC框架.有谁知道为什么没有Smalltalk的等效框架.这是一个哲学问题,而不是其他任何问题.我想知道Smalltalk的做法是否有一些事情可以排除拥有IoC框架的必要性.
编辑:似乎至少有两个有效的理由说明为什么Smalltalkers这样做(在消息链接和范围界定问题期间的可读性)但是问题可能会保持更长时间以解决一般用法问题.
原文:由于我早已忘记的原因,我从不在变量名中使用文章.例如:
aPerson,theCar,anObject
我想我觉得文章用无意义的信息弄脏了名字.当我看到使用这个约定的同事的代码时,我的血压会略微上升哦.
最近我开始学习Smalltalk,主要是因为我想学习Martin Fowler,Kent Beck以及其他许多伟大成长和喜爱的语言.
然而,我注意到,Smalltalkers似乎在变量名中广泛使用不定冠词(a,an).一个很好的例子是在下面的Setter方法中:
name: aName address: anAddress.
self name: aName.
self address: anAddress
Run Code Online (Sandbox Code Playgroud)
这使我重新考虑我的立场.如果一个像Smalltalkers一样受到极大尊重和影响的社区已广泛采用变量命名的文章,那么可能有充分的理由.
你用它吗?为什么或者为什么不?
我有一个Squeak Morphic GUI的图像,它包含一些透明部分,因此不应该接受任何鼠标事件等但只是可见,但它需要在其他变形前面可见.
这就是为什么我认为将出现的鼠标事件传播到底层变形是有用的.有没有人知道我的问题的解决方案或解决它的其他建议.
V <- mouseDownEvent
_____________________________ <- transparent image (BorderedMorph)
_____ _____ _____
_| |___| |___| |__ <- buttons waiting for click and drop events
_____________________________ <- basic morph
Run Code Online (Sandbox Code Playgroud)
我希望这能说明我的问题.
这是一个开放式问题,但我想征求SO社区关于特征的一些意见; 你认为Squeak/Pharo中的Traits是好事,还是你应该远离它们并使用组合和代表团?我问,因为虽然我知道如何使用它们(感谢Pharo书),但我不确定使用它们是否可以接受,或者可以使用它们以及它不适用的地方.
我已经阅读了一些初学者对smalltalk的介绍,并且有一个主题缺失.这是错误处理.怎么做?对象会抛出某种异常吗?向某人发送一些错误消息?
我发现thisContext在ANSI Smalltalk规范(草案)中没有提到.
我假设ANSI Smalltalk是标准化的Smalltalk-80,所以我无法理解它为什么不存在.它们的区别是什么?
我已经看过这个话题了几次,但我认为我没有看到任何确定的解决方案.
我已经尝试了将所有我的Foo.deploy.js,Bar.deploy.js组合成单个.js文件的路由,然后将其包含在loadAmber()调用中.这/似乎/工作得相当好,但大部分下载大小仍然来自Amber内部.
在我的申请中,规模最大的罪犯是:
我不能对jQuery UI的大小做太多,但我可以做很多关于Amber核心的大小,以及获取它们所需的HTTP请求的数量.唯一的问题是我无法弄清楚如何告诉Amber不要自动获取Kernel-Objects.deploy.js等.
有没有人设法将他们的整个Amber javascript成功打包成一个.js文件?
代码:http://github.com/rtyler Chatter:http://twitter.com/agentdero
我目前正在Squeak环境中学习Smalltalk,而我正在阅读"Squeak - 快速前往ObjectLand".我使用Python和Java的一些先验知识进入面向对象的范例,第36页的书中的这句话让我想到:
Smalltalk是面向对象语言的基于类的实现.
短句但非常有趣.在OO中,类,对象,实例等所有术语似乎都是明确定义的,并且似乎指向唯一的真实含义,并且您可能会遇到类似"对象是类的实例"的通用句子.
但是你很少听到实施策略.什么是实现面向对象的概念,在这种情况下,是什么意思?除了类之外是否还有OO语言的实现?
我已经构建了一个我想要给我的客户的pharo应用程序.该应用程序基于海边,将无头.为此,我不需要.source和.changes文件.我想在分发存档中保存一些空间,因此我想跳过这些文件.
目前,在我看来pharo正在抱怨,如果这些文件丢失了.有没有机会在没有.sources和.changes文件的情况下启动图像?
我想使用Smalltalk(Pharo)来更好地重构我的图像处理和用其他语言编写的计算机视觉代码/算法.我没有在网上找到很多使用Smalltalk处理图像(或视频帧)的例子.我想知道是否
i)有一个opencv /图像/计算机视觉库可用于Smalltalk,易于安装或
ii)有人可以举例说明如何访问图像中的像素数据并使用Smalltalk对其进行阈值处理.