Facade?

11 respostas
juniorsatanas

Pessoal alguém aqui usa Facade ?

Nessa Extrutura !

/src/br/gov/nutec/facade

                                        /br/gov/nutec/facade/BaseFacade.java
                                        /br/gov/nutec/facade/PessoaFacade.java
                                        /br/gov/nutec/facade/PessoaFacadeImpl.java

                  /src/br/gov/nutec/mb

                                      /br/gov/nutec/mb/PessoaMB.java

                  /src/br/gov/nutec/modelo

                                     /br/gov/nutec/mb/Pessoa.java


                  /src/br/gov/nutec/util

                                    /br/gov/nutec/util/GerarTabelas.java
                                   /br/gov/nutec/util/ReportMaker.java

11 Respostas

Giulliano

q estrutura ? Se for sobre nomenclatura de pacote, cada um escolhe a sua !!!

F

Qual é a dúvida, juniorsatanas :twisted: ?

juniorsatanas
@Override
	public List<Pessoa> lista() {
		sf = new AnnotationConfiguration().configure().buildSessionFactory();
		session = sf.openSession();
		tx = session.beginTransaction();
		pessoaDAO = new PessoaDAO(session, Pessoa.class);

		List<Pessoa> lista = this.pessoaDAO.list();

		tx.commit();
		session.close();

		return lista;
	}

restornar uma lsita para esta criteria :

public Pessoa pesquisaPessoaByNome(String nome) {
        logger.info("pesquisaPessoaByNome : " + nome);
        Criteria c = session.createCriteria(Pessoa.class);
        c.add(Restrictions.ilike("nome", "%" + nome + "%"));
        c.addOrder(Order.desc("matricula")); // ordem descentente
        //return (Pessoa) c.uniqueResult();
        return (Pessoa) c.list();
    }
thiagowig

Quanto à sua estrutura:

juniorsatanas:
/src/br/gov/nutec/mb

                                      /br/gov/nutec/mb/PessoaMB.java

                  /src/br/gov/nutec/modelo

                                     /br/gov/nutec/mb/Pessoa.java

Não gosto de modelo e controle em mesmos projetos.
Creio que PessoaMB.java seja referente ao ManagedBean entao eu o colocaria em um projeto separado junto com as paginas, resources, etc.

A

O conceito de Facade acredito que tenha ligação com web service…

F

Facade é fachada.
Quando para realizar uma determinada tarefa X precisamos chamar um conjunto de métodos de um ou mais objetos, podemos criar um método com o nome tarefaX dentro de um objeto fachada. Esta fachada é quem se responsabiliza por chamar métodos criar instâncias, enfim realizar as opreações necessárias à tarefa X. Aqueles que antes precisavam conhecer os detalhes da tarefa X e saber que métodos chamar, agora só precisam conhecer a fachada e esta é a responsável pela tarefa X.

O exemplo com webservice é só para ilustrar um tipo de aplicação do Facade. Mas não quer dizer que para termos webservices necessitamos de Facade e nem vice-versa.

juniorsatanas

Não gosto de modelo e controle em mesmos projetos.
Creio que PessoaMB.java seja referente ao ManagedBean entao eu o colocaria em um projeto separado junto com as paginas, resources, etc.

Thiago , essa eu n’ao tinha imaginado, deve ficar melhor mesmo …

Facade [e melhor que DAO para coisas grandes fica mais organizado e nao se repete codigo por todo projeto,… minha opiniao pr[atica aki…

F

Eu separo da seguinte forma:

src/api
src/main
src/impl
src/test

Eu deixo tudo dentro do mesmo projeto, na hora de compilar uso o ant para ter certeza que main só depende de api e impl só depende de api. Gero um .jar para cada src/* e uso o Spring para gerenciar a implementação da api.

Abraço…

G

Rapaz, você confundiu duas coisas que não tem nada a ver uma com a outra.

Façade (sim, é com Ç e pronuncia-se “fassade”, pois é francesa) é uma classe de fachada. Uma façade não faz nada, ela é apenas uma fachada e repassa tudo para as classes de negócio. Você vai encontrar ela como Facade, o que erroneamente as pessoas tendem a chamar de “faceide” porque os teclados US não possuim cedilha.

Repositórios ou DAOs não podem ser Façades, nem perto disso.

Mas então que raios é essa tal de Façade? Note, por exemplo, um prédio. Você enxerga a fachada dele mas não enxerga o que tem dentro, e nem precisa. Então o pattern Façade nada mais é que uma classe que mantém um ponto único de acesso as suas classes de negócio no caso do JEE Design Patterns.

Core J2EE Patterns
http://java.sun.com/blueprints/corej2eepatterns/Patterns/index.html

Session Façade
http://java.sun.com/blueprints/corej2eepatterns/Patterns/SessionFacade.html

juniorsatanas

Então fiz certo…

juniorsatanas

eu imaginava outra coisa !

FACADA NO JAVA = FACDE IN JAVA

kkkkkkkkkkkkkkkkkkkkkk

Brincadeira GArcia, Valeu !
Criado 20 de abril de 2010
Ultima resposta 22 de abr. de 2010
Respostas 11
Participantes 7