Padrão Factory Method em Swift: por que usar em vez de init
As funções factory do Swift dão nomes intencionais à criação, flexibilizando o tipo retornado e as políticas de reutilização. Veja quando escolher static func em vez de init e a diferença em relação ao Factory Method de GoF.
Ler artigo