Smalltalk 性格是好还是坏?
这是一个开放性的问题,但我想征求SO社区对特征的一些意见;你认为Squeak/Pharo中的特征是一件好事,还是应该远离它们,转而使用组合和委派?我问这个问题是因为虽然我知道如何使用它们(多亏了Pharo的书),但我并不确定使用它们的可接受程度,也不确定在哪里可以使用它们,在哪里不可以使用它们。我不喜欢traits,因为它们在代码中引入了强烈的依赖性。这些依赖关系可以是明显的(一个导入特性的类,一个需要方法的特性),但也可以是非常微妙的(一个隐藏超级方法/实例变量的特性)。此外,没有足够的工具支持特征Smalltalk 性格是好还是坏?,smalltalk,squeak,traits,pharo,Smalltalk,Squeak,Traits,Pharo,这是一个开放性的问题,但我想征求SO社区对特征的一些意见;你认为Squeak/Pharo中的特征是一件好事,还是应该远离它们,转而使用组合和委派?我问这个问题是因为虽然我知道如何使用它们(多亏了Pharo的书),但我并不确定使用它们的可接受程度,也不确定在哪里可以使用它们,在哪里不可以使用它们。我不喜欢traits,因为它们在代码中引入了强烈的依赖性。这些依赖关系可以是明显的(一个导入特性的类,一个需要方法的特性),但也可以是非常微妙的(一个隐藏超级方法/实例变量的特性)。此外,没有足够的工具支
根据我的经验,代表团用动态类型的面向对象语言(如Smalltalk)提供了一个更好、更可重用的设计。事情各有利弊。卢卡斯正确地提到了许多缺点:
- 在代码中引入强依赖关系李>
- 没有足够的工具支持
- 减少代码重复