Lar Desenvolvimento O que é singleton? - o que é techopedia

O que é singleton? - o que é techopedia

Índice:

Anonim

Definição - O que significa Singleton?

Um singleton é uma classe que permite que apenas uma única instância seja criada e dá acesso a essa instância criada. Ele contém variáveis ​​estáticas que podem acomodar instâncias exclusivas e privadas de si mesmo. É usado em cenários em que um usuário deseja restringir a instanciação de uma classe a apenas um objeto. Isso é útil geralmente quando um único objeto é necessário para coordenar ações em um sistema.


O padrão singleton é usado em linguagens de programação como Java e .NET para definir uma variável global. Um único objeto usado nos sistemas permanece constante e precisa ser definido apenas uma vez e não muitas vezes.

Techopedia explica Singleton

Um singleton destina-se a fornecer apenas uma instância de si mesmo, facilitando um ponto de acesso global. A implementação de um padrão singleton envolve a criação de uma classe com um método que cria uma nova instância da classe. Para implementar um padrão singleton, os princípios de instância única e acesso global devem ser atendidos. A classe singleton é como um repositório global para uma instância em si, tornando o construtor privado. Portanto, uma instância fora da classe não pode ser criada e um singleton pode conter apenas uma instância. Uma classe singleton é instanciada e mantém essa instância entre sistemas.


Os padrões abstratos de fábrica, construtor e protótipo podem usar singletons. Objetos de fachada e objetos estáticos são geralmente singletons. A implementação Singleton requer um mecanismo através do qual um membro da classe possa ser acessado sem a necessidade de criar um objeto de classe e manter o valor dos membros da classe entre os objetos da classe. As etapas envolvidas na criação de um singleton são as seguintes:

  1. O construtor é tornado privado. Isso permite que apenas a classe tenha acesso ao singleton.
  2. Exemplo:

    classe testdata

    {

    Testdata privado ()

    {

    //… sem opção para um singleton

  3. Uma única instância interna da classe é criada usando um método O método é chamado de instância neste exemplo. O método "instance" é usado para inicializar a classe para acessar uma única instância. O método da instância é marcado como estático neste exemplo para fornecer acesso consistente a todos os threads. Fora da criação da instância, a instrução "lock" é usada para controlar o acesso multithread. Isso bloqueia a criação da instância em um único encadeamento.


    Exemplo:


    // Criação lenta da instância interna singleton

    Instância pública testdata estática

    {

    Obter

    {

    Bloquear (tipo de (testdata))

    {

    If (_instance == null)

    _instance = testdata ();

    }

    Return _instance;

    }

    }

O que é singleton? - o que é techopedia