Java 读写器/处理器中使用的类型的最佳实践?
我和一位同事正在讨论SpringBatch的作者是否打算在Reader/writer/Processor中使用具体类型,或者 spring批处理读取器/写入器/处理器的方法签名为:Java 读写器/处理器中使用的类型的最佳实践?,java,spring-batch,Java,Spring Batch,我和一位同事正在讨论SpringBatch的作者是否打算在Reader/writer/Processor中使用具体类型,或者 spring批处理读取器/写入器/处理器的方法签名为: public interface ItemReader<T> public interface ItemWriter<T> public interface ItemProcessor<I, O> 公共接口ItemReader 公共接口项目编写器 公共接口项目处理器 是否打算主
public interface ItemReader<T>
public interface ItemWriter<T>
public interface ItemProcessor<I, O>
公共接口ItemReader
公共接口项目编写器
公共接口项目处理器
是否打算主要以“强类型”方式使用读卡器/写卡器/处理器,例如:
public class Person {
String name;
String address;
String age;
}
public class PersonReader implements ItemReader<Person> { ... }
public class Person {
String name;
String address;
String age;
}
public class Animal {
String type;
String color;
}
public class Book {
String title;
String pages;
String author;
}
public class UpdateObject {
Person person;
Animal animal;
Book book;
}
public class UpdateObjectReader implements ItemReader<UpdateObject> { ... }
公共类人物{
字符串名;
字符串地址;
弦年龄;
}
公共类PersonReader实现ItemReader{…}
还是更倾向于处理装满各种类型的桶,例如:
public class Person {
String name;
String address;
String age;
}
public class PersonReader implements ItemReader<Person> { ... }
public class Person {
String name;
String address;
String age;
}
public class Animal {
String type;
String color;
}
public class Book {
String title;
String pages;
String author;
}
public class UpdateObject {
Person person;
Animal animal;
Book book;
}
public class UpdateObjectReader implements ItemReader<UpdateObject> { ... }
公共类人物{
字符串名;
字符串地址;
弦年龄;
}
公营动物{
字符串类型;
字符串颜色;
}
公共课堂用书{
字符串标题;
字符串页;
字符串作者;
}
公共类更新对象{
个人;
动物;
书籍;
}
公共类UpdateObjectReader实现ItemReader{…}
“方法签名”是公共接口ItemReader
。。。方法签名?老实说,我不认为作者关心你如何使用这些接口。这取决于您和您的代码风格。由于这两种情况之间没有真正的区别,因为它们只是具有任意数量的任意类型字段的类,这并不重要。UpdateObject
(包含Person
、Animal
和Book
字段)和Person
之间的概念区别是什么(包含String
、String
和String
字段)?第一个字段可能更具可伸缩性,因为第二个字段由Person
、Animal
和Book
组成。您不确定是否希望同时处理三个不同的类,因为它们之间没有明显的关系。“方法签名"是公共接口ItemReader
…方法签名吗?老实说,我认为作者并不关心您如何使用这些接口。这取决于您和您的代码风格。而且,由于这两种情况之间没有真正的区别,因为它们只是具有任意类型的任意数量字段的类,这并不重要。UpdateObject
(包含Person
、Animal
和Book
字段)和Person
(包含String
、String
字段)在概念上有什么区别?第一个类可能更具可扩展性,因为第二个类由人
、动物
和书
组成。不确定您是否希望同时处理三个不同的类,因为它们之间没有明显的关系。