小编Bar*_*ath的帖子

Java:如何设计一个需要子子来处理文件的几个属性的类?

我有如下要求:

  1. 从CSV文件中读取数据.
  2. 根据传递的密钥查找重复的行.(例如,CSV文件有10列,我们需要根据特定的行键找到重复项)
  3. 拒绝/接受重复行的布尔值.
  4. 单元处理器用于验证文件中的每一行.

这是针对批量上传数据,我逐行读取文件,查找行是否有有效数据,并且根据传递的密钥行不重复,最后返回有效行列表.

abstract class BulkUploadService {
     List<BulkDTO> process(File file) {
       // Read a file and the value from below methods overridden by their child classes
     }

     abstract CellProcessors[] cellProcessors();
     abstract boolean isDuplicatesAllowed();
     abstract String[] headers();
     abstract String rowKey();
 }
Run Code Online (Sandbox Code Playgroud)

方法process()需要 - File,Row key,CellProcessors,boolean来接受/拒绝重复项,还有更多来处理和返回DTO形式的有效行列表.子类将实现BulkUploadService并覆盖除process()之外的所有方法,以便为process()方法提供数据以返回有效列表.

我想抽象出来的原因是它BulkUploadService应该处理所有业务逻辑并返回具体类的有效列表,具体类应该只关注提供信息.有没有更好的方法来设计这种情况?

java csv oop design-patterns

4
推荐指数
1
解决办法
69
查看次数

标签 统计

csv ×1

design-patterns ×1

java ×1

oop ×1