Dúvida nos padrões de projeto (SCWCD)

4 respostas
J

Gente, to estudando pra SCWCD, e vi em um simulado a seguinte pergunta:

You have taken over an old web application that contains a servlet for each use case. These servlets have become difficult to maintain because the service methods have grown big. Also,since the use cases are similar, lot of code has been repeated accross the servlets.
Which patterns can you apply in this situation?

(escolha duas)

a Business Delegate

b Transfer Object

c Front Controller
Since the use cases are similar, a Front Controller can receive the requests and delegate the tasks to appropriate business delegate. (esta linha aparece somente para justificar a resposta quando a gente erra, ou seja, não faz parte da questão)

d Session Facade

e Model View Controller

eu respondi C e E

mas a resposta correta era A e C

Alguém concorda? Alguém descorda?
Pra mim business delegate era usado somente nos casos de recursos remotos, ejbs … rmi … etc etc …
nunca pensei que em uma aplicação somente de servlets ia me aparecer business delegate rssr

O Front Controler é obvio, o MVC nem tanto… mas como é primo do front controler rsrs eu achei q era …
Mas nunca esperava que fosse Business Delegate

falow

4 Respostas

gomesrod

javando:
Pra mim business delegate era usado somente nos casos de recursos remotos, ejbs … rmi … etc etc …
nunca pensei que em uma aplicação somente de servlets ia me aparecer business delegate rssr

Na verdade o Delegate pode “esconder” uma camada de negócio local também. Pense da seguinte maneira: ele não serve só para ocultar a complexidade do acesso remoto, serve para que o restante da aplicação nem mesmo saiba se a camada de negócio é local ou remota.

A vantagem que você teria é aquela que os javeiros adoram: SE UM DIIIIIIA resolver mudar a implementação, a mudança fica transparente. :smiley:

J

oh gomes … legal … nun sabia que ele era tão poderoso assim (infelizmente nao pude fazer nenhum teste com ele ainda)

mas e quanto a pergunta do simulado? Para aquela situação, pra que eu preciso esconder uma camada? O problema me parece mais com o codigo repetitivo e grande … no que o business delegate ia ajudar nesse caso?

valeu , e obrigado por responder

gomesrod

A própria questão disse que pretende usar o Front Controller em conjunto com Business Delegates:
c Front Controller
Since the use cases are similar, a Front Controller can receive the requests and delegate the tasks to appropriate business delegate.

Pelo que entendi ele vai tirar do servlet o código de negócio repetitivo e coloca-lo em classes apropriadas, que serão depois chamadas através do Delegate.

Agora em uma coisa eu concordo com você: a aplicação do MVC também traria o efeito desejado!

Vamos ver se mais alguém aparece para dar uma opinião diferente…

J

é vamo ver :slight_smile:

mas o trecho que vc tirou:

Since the use cases are similar, a Front Controller can receive the requests and delegate the tasks to appropriate business delegate.

nao está na questão … esse trecho aparece na explicação quando vc erra a questão :slight_smile:

vou até comentar lah … pra nun dar confusao

brigadao

Criado 25 de agosto de 2009
Ultima resposta 25 de ago. de 2009
Respostas 4
Participantes 2