Pesquisar na Comunidade
Mostrando resultados para as tags ''sinlgeton''.
Encontrado 1 registro
-
Olá caro povão, como vocês estão? Iniciarei uma pequena série sobre alguns design patterns em Java, se quiser saber um pouco o que é design pattern: Traduzindo: Hoje falaremos sobre o Singleton, um dos meus favoritos e tenho quase certeza que sabendo dele ou não, você já chegou a utilizar ele. O objetivo do Singleton é permitir a criação de uma única instância de uma classe e fornecer um modo para recuperá-la. Como a maioria por aqui utiliza o Bukkit API, citarei um exemplo prático para vermos o Singleton, vamos supor que temos uma classe que é responsável pela configuração do seu plugin, chamaremos ela de ConfigManager: public class ConfigManager { private YAMLConfiguration config = ..... private File file = ..... public ConfigManager(){ //Aqui vão estar os métodos de inicialização da config } public String getString(String path){ return blablabla } } Como nesse caso a config não precisará de várias instancias, poderemos usar o padrão Singleton para acessarmos sua classe de qualquer lugar! Primeiramente temos que mudar o construtor para deixar ele privado: public class ConfigManager { private YAMLConfiguration config = ..... private File file = ..... private ConfigManager(){ //Para não podermos criar instancias da classe foo.foo; } public String getString(String path){ return blablabla } } Agora temos de implementar um método que controle a criação da única instancia da classe: public class ConfigManager { private static ConfigManager instancia; private YAMLConfiguration config = ..... private File file = ..... private ConfigManager(){ //Para não podermos criar instancias da classe foo.foo; } public static ConfigManager getInstancia(){ if(instancia == null){ //Caso a instancia não exista ainda, criar ela instancia = new ConfigManager(); } return instancia; } public String getString(String path){ return blablabla } } Pronto, agora podemos utilizar a classe: public String pegarStats(Player p){ return ConfigManager.getInstancia().getString(p.getName()+".Stats"); } Por hoje é só galera, é um conceito bem simples porém você vai encontrar várias situações aonde utilizar Singletons, eu estarei criando mais tutoriais de design patterns e aceito sugestões e conto muito com seu feedback! Então é isso galera, obrigado pela leitura e espero ter sido claro!