Qual design patterns?

Olá pessoal,

sou iniciante em java e estou trabalhando em projeto que existe um
framework já implantado mas que o pessoal já não está na empresa.

Minha duvida gostaria de saber qual o design patterns que foi usado

se alguém puder me ajudar agradeceria umas partes do mesmo estão abaixo

abs

como está dividada as camadas :

  • apresentação
  • servico
  • entity
  • transação





public ActionForward execute(ActionMapping mapping , 
			                     ActionForm form , 
								 HttpServletRequest request ,
                                 HttpServletResponse response) {

			ContextoRequisicaoImpl contextoRequisicao = (ContextoRequisicaoImpl) ContextoRequisicaoImpl.getInstance();
			
		
			try {
				// Obtém os dados de sessão e do usuário associado
				
				

				service.verificarPermissao(contextoRequisicao, associado, sessao.getCdOrigem());
				
				//chamar a rotina Consulta Totais Vencimentos Retorno
                               // Efetua a consulta solicitada
				
				CreditoRotativoService consultaTotais = CreditoRotativoService.getInstance();
                                toRetorno1 = consultaTotais.consultaRotativoVencimentos(contextoRequisicao);      
    
	
                         }

---------------------------------------------------------------
public class CreditoRotativoService {
	
	/** Instância singleton da classe */
	private static CreditoRotativoService instancia = new CreditoRotativoService();	

    
	/** Instância do delegate */
	private static TD20Entity entityTB20;
	/** Instância do delegate */
	private static TD21Entity entityTD21;
    /**
	 * Construtor da classe.
	 * Declarado privado por se tratar de uma classe singleton.
	 */
	private CreditoRotativoService() {
		entityTB20 = TD20Entity.getInstance();
		entityTD21 = TD21Entity.getInstance();
	}
    
    
	/**
	 * Retorna uma instância singleton da classe.
	 * 
	 * @return Instância singleton da classe
	 */
	public static CreditoRotativoService getInstance() {
		if (instancia == null) {
			instancia = new CreditoRotativoService();
		}
		return instancia;
	}
	
	/**
    
    /**
     * Acesso à camada de negócio.
     *
     * 	
     * @param contextoRequisicao
     *     Objeto do tipo <tt>ContextoRequisicaoImpl</tt> para configuraçao dos
     *     dados de controle de contexto da requisição.
     * @return
     *     Objeto do tipo <tt>ConsultaTotaisVencimentoRetorno</tt> contendo o
     *     resultado da pesquisa solicitada.
     * @throws ServicoException
     *     Contendo a configuração do erro obtido durante a execução.
     */
    public ConsultaTotaisVencimentosRetorno consultaRotativoVencimentos (ContextoRequisicaoImpl contextoRequisicao
    		) throws ServicoException {
        try {
            return entityTB20.consultaRotativoVencimentos (Midia.MIDIA_INTERNETBANKING, 
            		                                       contextoRequisicao);
        } catch (BaseException excecao) {
            if (excecao.getCause() != null) {
                throw new ServicoException(excecao.getMessage(), excecao.getCause(),
                        excecao.getCodigo(), excecao.getLocal());
            } else {
                throw new ServicoException(excecao.getMessage(), excecao,
                        excecao.getCodigo(), excecao.getLocal());
            }
        } catch (Exception excecao) {
            throw new ServicoException(MensagensCreditoRotativo.obterMensagemDefault(),
                excecao, 0, "CreditoRotativoService.consultaRotativoVencimentos()");
        }
    }
    
    /**
     * Acesso à camada de negócio.
     *
     * @param toEnvio
     *     Objeto  do tipo <tt>RealizaRotativoEnvio</tt> contendo os
     * 	   dados para envio ao mainframe.	
     * @param contextoRequisicao
     *     Objeto do tipo <tt>ContextoRequisicaoImpl</tt> para configuraçao dos
     *     dados de controle de contexto da requisição.
     * @return
     *     Objeto do tipo <tt>RealizaRotativoRetorno</tt> contendo o
     *     resultado da pesquisa solicitada.
     * @throws ServicoException
     *     Contendo a configuração do erro obtido durante a execução.
     */
    public RealizaRotativoRetorno consultaRealizaRotativo (ContextoRequisicaoImpl contextoRequisicao, 
    		RealizaRotativoEnvio toEnvio) throws ServicoException {
        try {
        	 return entityTD21.consultaRealizaRotativoRetorno(
        	 		Midia.MIDIA_INTERNETBANKING, contextoRequisicao, toEnvio);
        } catch (BaseException excecao) {
            if (excecao.getCause() != null) {
                throw new ServicoException(excecao.getMessage(), excecao.getCause(),
                        excecao.getCodigo(), excecao.getLocal());
            } else {
                throw new ServicoException(excecao.getMessage(), excecao,
                        excecao.getCodigo(), excecao.getLocal());
            }
        } catch (Exception excecao) {
            throw new ServicoException(MensagensCreditoRotativo.obterMensagemDefault(),
                excecao, 0, "CreditoRotativoService.consultaRealizaRotativo()");
        }
    }        
}

----------------------------------------------------

public abstract class TD21Entity {
    
    /** Instância da classe.*/
    private static TD21Entity instancia;
    /**
     * Construtor
     *
     */
    protected TD21Entity() {
        
    }
    
    /**
     * 
     * Obtém instância da classe.<br>
     * @return instância de TW90.
     */
    public static TD21Entity getInstance() {
        if (instancia == null) {
            instancia = new TD21EntityImpl();
        }
        return instancia;
    }
   
    
	public abstract RealizaRotativoRetorno consultaRealizaRotativoRetorno(
			Midia midia, ContextoRequisicaoImpl contextoRequisicao,
			RealizaRotativoEnvio toEnvio) throws NegocioException, Exception;
    }


 	

Oi Paribe!

o framework principal utilizado nesse tipo de projeto eh o MVC, porem existem outros patterns “auxiliares” como o TO (transfer object) e o DAO (Data Access Object). Provavelmente vc deve usar o struts para controlar o MVC e o framework interno da sua empresa para controlar os outros dois.
Tem uma apostila com o resumo de alguns Design Patterns aqui no PJ, acho que ela pode te ajudar um pouco