<分区>
这是我对无状态对象的理解:任何从没有类变量的类创建的对象都是无状态对象。 我的问题是什么时候应该编写无状态类。拥有无状态对象是一个好习惯吗?
<分区>
这是我对无状态对象的理解:任何从没有类变量的类创建的对象都是无状态对象。 我的问题是什么时候应该编写无状态类。拥有无状态对象是一个好习惯吗?
最佳答案
如果您需要“将功能作为参数传递”,则无状态对象很有用。由于函数在 java 中不是对象,因此将函数作为参数传递对象是一种实用的方法。
例如,Comparator
可以用于排序,如果一个类没有实现 Comparable
,或者如果您需要支持使用不同定义的“<”进行排序-关系。 (例如升序/降序;按不同属性排序...)
工厂(参见 http://www.oodesign.com/factory-pattern.html )可以是无状态对象。工厂的所有功能都可以创建对象和创建所需的所有参数 它们可以作为工厂函数的参数给出。
关于java - 无状态对象的良好实践与否,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20831885/