Java有一个“bean”的概念,它是一个带有无参数构造函数和getter/setter方法的类。这个模式是否有更通用的名称,如果我们正在与从未使用Java的程序员交谈,我们可以避免使用术语“bean”?在其他语言中使用什么bean模式名称
回答
在C中,一个struct
。在VB中,structure
。
虽然bean比结构稍微多一点 - 它是一个带有访问器方法的结构。 – Dan 2009-12-14 19:17:26
+1,一个bean就是一个结构。访问方法特定于Java,在支持属性(Python,C#,Scala等)的语言中不需要。 – gooli 2009-12-18 08:00:27
尽管bean构造通常用作结构的替代品,但它实际上是一个反模式:与所有的OO类一样,大多数bean应该封装行为,而不是一个愚蠢的数据容器。检查下面的可重用软件组件以获得更好的答案。考虑一个Bean是Windows COM组件的Java等价物。 – hyperman 2012-10-24 13:50:04
如果你看一下JavaBean definition,更“通用”的名称可能是可重用的软件组件(见本tutorial from 1996!),因为它提供了一个定义良好的服务集(系列化,存取,无参构造函数)
的但当然,所有的部件不一定是JavaBean的。
它们也可以被看作是“物业经理”,因为它们允许属性之间的性能的发现和访问(通过PropertyDescriptor
,以及managing constraints。
这最后一个方面允许像Scala这样基于JVM的语言来适应自己的特性与JavaBean约定关系密切,与scala.reflect.BeanProperty
directive。
Altough豆建设经常被用来作为一个结构的替代品,这是一个真正的反模式:像所有的OO类,豆类最应该封装的行为,不是一个愚蠢的数据容器。最初,Bean被定位为Windows COM组件的Java等价物,它的属性可以被包含框架发现。
- 1. Django模板语言:在其他语言中使用for循环
- 2. 其他语言的AD属性名称
- 3. Pylatex使用其他语言
- 4. 市名,县名在其他语言中不返回英语
- 5. 谷歌和其他人使用什么语言
- 6. 在其他语言中最接近Apache Hadoop的是什么?
- 7. MVC模式:使用什么其他模式?
- 8. 在Ruby编程语言中,$的名称是什么:
- 9. 将国家/地区名称翻译为其他语言
- 10. 为什么在C语言头文件中使用'#'符号?为什么不使用其他符号?
- 11. 在Windows 7下的虚拟XP模式下的其他语言
- 12. 使用其他语言与红宝石
- 13. 使用Rails或其他语言
- 14. 描述语言语法的这种语言的名称是什么?
- 15. 为什么在ssrs中使用sql语言代替mdx语言?
- 16. ,有什么方法的等同物在其他语言
- 17. 什么语言使用“fi”
- 18. XNA使用什么语言?
- 19. 什么是模板语言?
- 20. 为什么if语句在python中像其他语言一样空?
- 21. 什么语言用于动态文本(名称)文本
- 22. Sitecore - 重命名时使用其他语言创建的版本
- 23. 在其他语言中recaptcha词
- 24. 在html/php中使用{{&var}}的模板语言是什么?
- 25. 使用I18n语言环境的Rails语言名称
- 26. Windows批处理文件中使用的语言的名称是什么?
- 27. 为什么他们在JavaScript中使用名称空间?
- 28. 还有其他什么像WCF,其他平台,操作系统,语言?
- 29. 模式的名称是什么?
- 30. 什么是该模式的名称?
你的意思是宝拉豆? – bniwredyc 2009-12-14 19:16:37