Scala, Design Patterns, Programming, Factory Pattern.
could be added a second abstract class named Options with its specific implementations for csv, json and parquet. The Reader class implementations csvReader, jsonReader and parquetReader will use the specific Options implementations for them through the options method. This is shown in the