Você usa singletons para fornecer uma instância compartilhada globalmente acessível de uma classe Esta definição não é exclusiva da documentação da Apple. O artigo da Wikipedia que vinculei acima também afirma que “Uma implementação do padrão singleton deve fornecer acesso global a essa instância.”
Por que o singleton é usado no Swift?
Singleton é um padrão de design de criação, que garante que existe apenas um objeto de seu tipo e fornece um único ponto de acesso a ele para qualquer outro código. Singleton tem quase os mesmos prós e contras das variáveis globais. Embora sejam super práticos, eles quebram a modularidade do seu código.
Quando você não deve usar um singleton?
A única situação em que você deve considerar um singleton é quando ter mais de uma instância de dados já globais seria na verdade um erro de acesso lógico ou de hardware.
Links Relacionados:
- Fragilidade invocada por Global State e Singletons.
- Injeção de dependência para evitar singletons.
- Fábricas e Singletons.
Para que serve um singleton?
Um singleton deve ser usado ao gerenciar o acesso a um recurso que é compartilhado por todo o aplicativo, e seria destrutivo potencialmente ter várias instâncias da mesma classe. Garantir que o acesso a recursos compartilhados seja seguro para threads é um bom exemplo de onde esse tipo de padrão pode ser vital.
Singleton é ruim Swift?
Singletons não são universalmente ruins, mas em muitas situações eles vêm com um conjunto de problemas que podem ser evitados criando relacionamentos mais bem definidos entre seus objetos e usando dependência injeção.