| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/04/2006 14:10:01
|
TiagoFoil
JavaGuru
![[Avatar]](/images/avatar/bdcc41211aa62a8f10f26d1a2d1727bf.jpg)
Membro desde: 22/02/2005 19:46:49
Mensagens: 205
Offline
|
Com base nesse link abaixo, pude pegar todos padrões envolvidos na J2EE.
http://java.sun.com/blueprints/patterns/catalog.html
Eu comecei a fazer uma associação desses padrões com componentes
encontrados no Struts e alguns eu simplesmente associei a padrões que
eu utilizarei num projeto q estou participando.
Gostaria q opinassem sobre.
Business Delegate -> Seria o BO(Business Object)?
Composite Entity -> O Model?
Composite View -> Tiles do Struts?
Data Access Object -> DAO, dahn!!! ^^
Fast Lane Reader -> Não faço a menor idéia
Front Controller -> ActionServlet do Struts, certo?
Intercepting Filter -> Validator do Struts?
Model-View-Controller -> MVC propriamente dito. Ou seja, o próprio Struts.
Service Locator -> Completem por favor.
Session Facade -> Seria a utilizaçao do Padrão Facade mesmo??
Transfer Object -> DTO ou VO certo?
Value List Handler -> Não faço a menor idéia denovo.
View Helper -> Form do Struts, né?
bom, a intenção é q cada um poste a sua versao pra essa lista acima, onde se encontram os Padrões J2EE e Componentes do Struts respectivamente.
Desde já agradeço a atenção de todos,
Opinem!!
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/04/2006 20:48:28
|
fabriciobraga
Entusiasta Java
![[Avatar]](/images/avatar/9bccc2a2179ce6e52f17bb831bc4ac1e.png)
Membro desde: 24/04/2006 14:05:20
Mensagens: 20
Localização: Rio de Janeiro
Offline
|
Bem, no proprio link que você mandou há os blue prints da Sun explicando de forma geral o que é cada um. É ler e entender mesmo.
Eu posso te indicar dois links no meu próprio site, que mostram na prática o uso do ServiceLocator e da Facade aplicados à componentes de negócio (EJB 3.0).
Aqui:
http://www.fabriciobraga.com.br/?p=10
http://www.fabriciobraga.com.br/?page_id=4
No mais, sugiro que você procure utilizar as J2EE Patterns com parcimônia e evite impregnar seus sistemas com elas se realmente não forem lhe trazer um ganho.
Durante o desenvolvimento do sistema, espere primeiro encontrar o problema, para depois resolve-lo com a Pattern. Pode parecer óbvio, mas não é. Há um número grande de Analistas que ficam catando espaços no modelo para encaixarem as Patterns, para depois encherem a boca enumerando as Patterns que usaram.
Pareço estar exagerando? Veja por si mesmo...
Espero ter ajudado.
[]s
Fabricio Braga
SCJP 1.5
http://www.fabriciobraga.com.br
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/04/2006 21:37:00
|
Rubem Azenha
GUJ Master
![[Avatar]](/images/avatar/cb953f6ca5923f7517125db46ed1293d.jpg)
Membro desde: 28/06/2004 00:10:43
Mensagens: 1933
Localização: São Paulo, SP
Offline
|
fabriciobraga wrote:
No mais, sugiro que você procure utilizar as J2EE Patterns com parcimônia e evite impregnar seus sistemas com elas se realmente não forem lhe trazer um ganho.
Durante o desenvolvimento do sistema, espere primeiro encontrar o problema, para depois resolve-lo com a Pattern. Pode parecer óbvio, mas não é. Há um número grande de Analistas que ficam catando espaços no modelo para encaixarem as Patterns, para depois encherem a boca enumerando as Patterns que usaram.
Pareço estar exagerando? Veja por si mesmo...
Espero ter ajudado.
É verdade. No caso, falando do Service Locator e do Façade, entre outros, como o colega estava comentando, são patterns que são mais usados com EJB, embora o façade possa ser usado sem problemas fora do escopo de EJB.
Se não me engano, acho que foi o shoes que falou que alguns dos padrões da Sun foram criados para contornar problemas com EJB.
O padrão Intercepting Filter não é implementado nativamente no Struts, mas pode-se usar Servlet Filters mesmo. Frameworks mais modernos como Mentawai e WebWork implementam esse padrão.
|
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/04/2006 08:31:52
|
TiagoFoil
JavaGuru
![[Avatar]](/images/avatar/bdcc41211aa62a8f10f26d1a2d1727bf.jpg)
Membro desde: 22/02/2005 19:46:49
Mensagens: 205
Offline
|
Oia, vc ta certíssimo Fabricio, aqui mesmo nos estamos eliminando padroes na medida q descobrimos q nosso sistema nao sera tao grande a ponto de usá-los. Mas só com o decorrer do projeto é q será possível ver a necessidade de acrescentar outros.
Obriado Microfilo, eu tinha pensado q o validator do struts tinha a ver com esse tal intercept filter. Depois vou analisar os frameworks citados por vc com mais calma.
Vlw mesmo pessoal. Mas alguem sabe do tal "fast lane reader"?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/04/2006 15:21:28
|
Eliezer Reis
Java Ninja
Membro desde: 23/04/2006 11:21:50
Mensagens: 291
Localização: Brasil
Offline
|
Na minha humilde opinião o Struts em si é fortemente acoplado (principalmente quando se trata do model) o que sugerem a inclusão desses diversos Design Patterns para evitar esse acoplamento. O Struts em si pratica poucos patterns como por exemplo o Command Pattern (que inclusive não foi citado), Front Controller(Action Servlets), Business Logic (Action), Dispatcher e Adpater.
Por um lado, ele é flexível a ponto de permitir a inclusão de outras tecnologias presentes no mercado como o Tiles (composite view), hibernate (Persistência - aqui você aproveita e insere o DAO) e assim vai.
De certa forma, essa acaba sendo uma grande desvantagem do struts. Veja bem, Você resolve utilizar hibernate então você vai ter de criar as classes POJOs das suas entidades. Só que os FormBeans acabam sendo praticamente uma VO o que de certa forma você vai ter de encapsular seus POJOs dentro dos FormBeans gerando uma carga excessiva de duplicação de código.
Além disso, o Struts e limitado ao MVC, permite pouco reaproveitamento (importante caso sua equipe queira mudar de framework um dia), dificuldades de manutenção (se você alterar um FormBean vai ter de Alterar o POJO encapsulado), duplicação de código e dificuldade de fazer testes.
Até
|
[]'s Eliezer Reis
SCJP
SCWCD |
|
|
 |
|
|
|
|