Scala, Design Patterns, Programming, Factory Pattern.
clients to the specific factory they need to through environment variables or system variables, if it is possible, rather than through their input as this tends to be error prone. The client will interact with the FactoryProvider like how it is shown below. object Test extends App { val csvFactory