Qual a real função da fachada  XML
Índice dos Fóruns » Arquitetura de Sistemas
Autor Mensagem
Rulio
JavaBaby
[Avatar]

Membro desde: 22/08/2006 00:34:38
Mensagens: 94
Offline

Olá pessoal.

Hoje a tarde estávamos almoçando quando surgiu uma duvida simples e que causou bastante polemica na hora sagrada da refeição. Cada um respondeu de uma forma a uma simples pergunta... Agora pra tirar nossas conclusões, gostaríamos que vcs nos ajudassem.

Pergunta: QUAL A REAL FUNÇÃO DA FACHADA ???

Após obtermos uma conclusão concreta rsrsrsr relataremos aqui pra todos.


Abraços,
Rulio Vangellis.



Sun Certified Java Programmer 5.0
"Nada é simples demais que não possa ser abstraído, nada é complexo demais que não possa ser generalizado."
samurai
JavaEvangelist

Membro desde: 27/08/2003 15:20:01
Mensagens: 312
Localização: São Paulo - SP
Offline

Beleza?

Como o próprio nome já diz só serve de fachada, eeheheheh.
Brincadeira. Serve pra dividir de forma mais eficiente as camadas porque, oculta de forma eficiente todos os detalhes de implementação de uma camada pra outra.

[MSN]
ozielneto
JavaEvangelist
[Avatar]

Membro desde: 21/03/2003 23:05:48
Mensagens: 485
Localização: Assis - SP
Offline

A Fachada (Façade) é um Design Patter muito usado, pois como nosso amigo falou anteriormente ele isola detalhes de implementação da camada de negócio, e completando, fornece uma interface mais símples e mais granular (passagem de objetos) á camada de negócio.

A implementação comum de Façade é usando Stateless Session Beans:
http://java.sun.com/blueprints/corej2eepatterns/Patterns/SessionFacade.html

Bom estudo

Arquitetor Sênior e Consultor de TI
Web Site
e-mail
[Email] [WWW] [MSN]
Dieval Guizelini
Virtual Machine Man
[Avatar]

Membro desde: 05/07/2006 14:39:44
Mensagens: 570
Localização: Curitiba - PR
Offline

Quando os GoF escreveram:

Façade: "Fornecer uma interface unificada para um conjunto de interfaces de um subsistema. O Façade define uma interface de mais alto nível, tornando assim mais fácil utilizar o subsistema"


ozielneto disse:
A Fachada (Façade) é um Design Patter muito usado, pois como nosso amigo falou anteriormente ele isola detalhes de implementação da camada de negócio, e completando, fornece uma interface mais símples e mais granular (passagem de objetos) á camada de negócio.


Vejam agora a definição de Bridge:
"Desacoplar uma abstração de sua implementação para
que os dois possam variar independentemente"

Qual a intenção de separar as camadas? é a mesma de criar uma interface mais simples de um subsistema?

E a de Command?
"Encapsular requisição como objeto, para clientes parametrizarem
diferentes requisições, filas, e suportar operações reversíveis"

Outro que pode ser aplicado:
Mediator:
"Definir um objeto que encapsula como um conjunto de
objetos interagem. Mediator promove acoplamento fraco ao
manter objetos que não se referem um ao outro
explicitamente, permitindo variar sua interação
independentemente." [GoF]

Pessoalmente acredito que precisamos ver a implementação para podermos avaliar qual é o padrão que melhor se aplica.

Se a classe implementada for uma classe utilizatária (ou singleton), os métodos apenas servem como Wrappers de outras classes e seus respectivos métodos então muito provavelmente é façade.

Mas se a classe incluir alguma inteligência, tiver alguma validação como aspectos de segurança, manter o estado de alguma coisa etc... certamente não será façade.

poe mais dados e poderemos ampliar nossas discussões.

falou.

Dieval



Sun Certified Java Programmer 5.0
[WWW]
thiagoarrais
What is classpath?

Membro desde: 06/11/2006 16:43:16
Mensagens: 9
Offline

Disfarçar uma organização de classes procedural para poder
chamar de orientada a objetos? Quando combinado com o padrão
Singleton, há 80% de chance de ser esta a intenção.

Algumas luzes em: http://c2.com/cgi/wiki?FacadePattern

-- Thiago Arrais
brunohansen
JavaEvangelist
[Avatar]

Membro desde: 27/03/2006 11:11:34
Mensagens: 391
Offline

Dieval Guizelini wrote:
Façade: "Fornecer uma interface unificada para um conjunto de interfaces de um subsistema. O Façade define uma interface de mais alto nível, tornando assim mais fácil utilizar o subsistema"


Na minha opnião fachada é realmente isso dito pelo Dieval!

Agora não é muito bom ficar misturando Fachada com Bridge com Mediador, pois eles tem intenções diferentes!
Cocota
JavaChild
[Avatar]

Membro desde: 03/04/2006 21:17:41
Mensagens: 149
Localização: Natal-RN
Offline

Hmm...
O livro do GoF é bom, mas estou tendo dificuldades com eles... deixa isso pra lá.

- - - -
Além dos benefícios já citados aqui, eu tenho uma contribuição:

Quando você trabalha em Times, as Fachadas facilitam sua vida. Vou explicar com um exemplo: O rapaz da camada de Persistência elabora uma Fachada com todas as funcionalidades de sua camada, fazendo assim com que o outro rapaz, que utiliza os serviços dessa camada, precise apenas conhecer essa 'interface'.

É uma interface única para vários subsistemas.

Ez RulEz Até de Madrugada
[WWW] [MSN]
rodrigoy
GUJ Ranger
[Avatar]

Membro desde: 18/04/2006 01:06:28
Mensagens: 758
Localização: São Paulo
Offline

O melhor artigo que ví a respeito do assunto:

(isso porque estou trabalhando com Desktop)

http://www.martinfowler.com/apsupp/appfacades.pdf

Resumo... um facade também pode ser um Stateful, e no caso de um cliente desconectado (AKA Swing), é bem capaz que ele seja Stateful.

[]s

Rodrigo Yoshima
www.ASPERCOM.com.br

Próximas Turmas:
São Paulo: Scrum 28/agosto | OOAD-UML 13/setembro

Débito Técnico Blog: blog.aspercom.com.br
[WWW]
karen_barbatto
JavaChild

Membro desde: 03/10/2006 09:19:29
Mensagens: 149
Offline

Em modo geral e básico, eu diria que é uma interface que contempla todas as funcionalidades de um subsistema.
 
Índice dos Fóruns » Arquitetura de Sistemas
Ir para:   
Powered by JForum 2.1.8 © JForum Team