抽象基 bean class
Abstract base bean class
由于我没有找到任何可以准确描述我的问题的内容,所以我想试一试:
在我的整个时间里,每当我需要区分相似模式的不同实现时,我都使用抽象 classes,就像一个抽象标记器,用于从文本解析和创建不同的对象。
然而最近我发现在更大的项目中几乎每次 class 调用 AbstractBaseBBE
或 AbstractBaseBean
几乎覆盖了 Object
class 中的所有内容].从字面上看,这些项目中的所有 classes 在遍历层次结构树时最终都从这个基础 class 扩展。我开始研究 java 中 bean 的定义,据说 bean 基本上只是一个带有私有字段的 getter 和 setter 的 class。 AbstractBaseBBE
和 AbstractBaseBean
classes 也有处理 Properties
的方法,但不是处理我从 PropertyChangeSupport
等事件处理中知道的属性,它们只是String
个对象。
我真的搞不懂他们这样做的原因或者那些抽象 bean classes 的目的是什么。
这样做除了为所有子class提供额外的方法之外还有什么原因吗?
以下链接是这些链接的示例:
- AbstractBaseBean.java from AOP Spring JPA
- AbstractBaseBean.java from syncope
- AbstractBaseBean.java from Entando
第一个中的 PropertyDescriptor
是我对属性的意思。不幸的是,上面的基础 classes 中使用的一些 classes 和方法不在项目中,这意味着它们可能是从外部源或库中导入的。
我希望你能帮助我理解这些 class 的目的是什么以及你什么时候会使用这样的东西。
我认为您试图回答错误的问题。对于为什么应该始终使用 "AbstractBaseBean" 并没有通用的答案,但是您可以看到,在每种情况下,这都会为系统中的 every 对象提供一些通用的行为。这是否有用取决于系统。
例如,您引用的 JPA 示例有一组通用字段,包括带有 getter 和 setter 的 id。另外两个都提供默认的哈希码和等于。
同样,没有一个正确答案,但如果您了解它提供的功能,您可以自行决定它是否是您想要的。
由于我没有找到任何可以准确描述我的问题的内容,所以我想试一试:
在我的整个时间里,每当我需要区分相似模式的不同实现时,我都使用抽象 classes,就像一个抽象标记器,用于从文本解析和创建不同的对象。
然而最近我发现在更大的项目中几乎每次 class 调用 AbstractBaseBBE
或 AbstractBaseBean
几乎覆盖了 Object
class 中的所有内容].从字面上看,这些项目中的所有 classes 在遍历层次结构树时最终都从这个基础 class 扩展。我开始研究 java 中 bean 的定义,据说 bean 基本上只是一个带有私有字段的 getter 和 setter 的 class。 AbstractBaseBBE
和 AbstractBaseBean
classes 也有处理 Properties
的方法,但不是处理我从 PropertyChangeSupport
等事件处理中知道的属性,它们只是String
个对象。
我真的搞不懂他们这样做的原因或者那些抽象 bean classes 的目的是什么。
这样做除了为所有子class提供额外的方法之外还有什么原因吗?
以下链接是这些链接的示例:
- AbstractBaseBean.java from AOP Spring JPA
- AbstractBaseBean.java from syncope
- AbstractBaseBean.java from Entando
第一个中的 PropertyDescriptor
是我对属性的意思。不幸的是,上面的基础 classes 中使用的一些 classes 和方法不在项目中,这意味着它们可能是从外部源或库中导入的。
我希望你能帮助我理解这些 class 的目的是什么以及你什么时候会使用这样的东西。
我认为您试图回答错误的问题。对于为什么应该始终使用 "AbstractBaseBean" 并没有通用的答案,但是您可以看到,在每种情况下,这都会为系统中的 every 对象提供一些通用的行为。这是否有用取决于系统。
例如,您引用的 JPA 示例有一组通用字段,包括带有 getter 和 setter 的 id。另外两个都提供默认的哈希码和等于。
同样,没有一个正确答案,但如果您了解它提供的功能,您可以自行决定它是否是您想要的。