Scala, Design Patterns, Programming, Factory Pattern.
it without changing other code. Furthermore, more concise and easy to use code it’s achieved because in the client code there is no need to execute concrete methods of each Product implementation as all Product implementations share the same methods signatures and the concrete product