From b047c90359e837f3c4eae984a5bb729b77cf2461 Mon Sep 17 00:00:00 2001 From: thayna queiroz <119525364+thay180805@users.noreply.github.com> Date: Fri, 15 Aug 2025 21:23:27 -0300 Subject: [PATCH] =?UTF-8?q?refactor(cep):=20melhorar=20a=20implementa?= =?UTF-8?q?=C3=A7=C3=A3o=20do=20Singleton=20CepApi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit foi modificado a classe cepApi --- src/subsistema2/cep/CepApi.java | 62 +++++++++++++++++++++++++-------- 1 file changed, 47 insertions(+), 15 deletions(-) diff --git a/src/subsistema2/cep/CepApi.java b/src/subsistema2/cep/CepApi.java index 4b21dcc..a0f1ae4 100644 --- a/src/subsistema2/cep/CepApi.java +++ b/src/subsistema2/cep/CepApi.java @@ -1,22 +1,54 @@ package subsistema2.cep; +/** + * Singleton que simula a consulta de CEP. + * Facade poderá utilizar essa classe para obter cidade e estado. + */ public class CepApi { - private static CepApi instancia = new CepApi(); + // Instância única (eager initialization) + private static final CepApi instancia = new CepApi(); - private CepApi() { - super(); - } + // Construtor privado para impedir instanciamento externo + private CepApi() { + } - public static CepApi getInstancia() { - return instancia; - } - - public String recuperarCidade(String cep) { - return "Araraquara"; - } - - public String recuperarEstado(String cep) { - return "SP"; - } + // Método público para obter a instância única + public static CepApi getInstancia() { + return instancia; + } + + /** + * Recupera a cidade baseada no CEP. + * @param cep CEP informado + * @return Nome da cidade + */ + public String recuperarCidade(String cep) { + // Aqui você poderia simular CEPs diferentes + switch (cep) { + case "14801788": + return "Araraquara"; + case "01001000": + return "São Paulo"; + default: + return "Cidade desconhecida"; + } + } + + /** + * Recupera o estado baseada no CEP. + * @param cep CEP informado + * @return Sigla do estado + */ + public String recuperarEstado(String cep) { + // Simulação simples de acordo com o CEP + switch (cep) { + case "14801788": + return "SP"; + case "01001000": + return "SP"; + default: + return "Estado desconhecido"; + } + } }