Jump to content
Sign in to follow this  
Lilian

Onde implementar a lógica em um modelo MVC?

Recommended Posts

Lilian

Olá pessoal, estou lendo sobre tudo que diz respeito a estrutura de uma aplicação(Spring, Struts,

Facade) para descobrir onde colocar a lógica do sistema, mas não consigo chegar a uma conclusão nessa

parte.

Como não acho que seja correto colocar uma função de cálculo, por exemplo, em um Managed Bean, eu

gostaria de saber como ficaria em um caso como este:

//Bean

public class Calculo{

    private Integer val1;
    private Integer val2;

    //gets, sets, equals, hashcode, toString
}

//ManagedBean
public class CalculoFace{

    Calculo selectedCalculo;

    CalculoFace(){
        selectedCalculo = new Calculo();
    }

    public Calculo getSelectedcalculo(){ return this.selectedCalculo;}
    
    public void setSelectedcalculo ( Calculo selectedcalculo){
        this.selectedCalculo = selectedcalculo;
    }

    public Integer calculaOperacao()
    {
        return selectedCalculo.getVal1() + this.selectedCalculo.getVal2(); // Essa operação deve ficar 

onde?
    }
}

   

//Calculo.jsp
<h:commandButton action="#{CalculoFace.calculaOperacao}" value = "Calcular"/>

Esse método "calculaOperacao" deve ficar no ManagedBean mesmo ou devo criar outra classe, instanciar um

objeto dessa no MBean e chamar o método. Essa classe de métodos seria a de Business objects, poderia

chamada de CalculoBO?

Gostaria de me aprfundar no assunto então sobre o que devo estudar?

Além da dica de estudo, por favor me digam onde ficam os métodos, só para matar a curiosidade :P

Obrigada.

Share this post


Link to post
Share on other sites
Baderous

Essa operação deve ficar na classe Calculo. Na CalculoFace apenas tens um método (que é necessário para interagir com a página) onde invocas o tal método da classe Calculo.

Share this post


Link to post
Share on other sites
Lilian

Estava pensando em separar ainda mais usando essa estrutura que acho boa parta trabalhar, mas tenha uma dúvida.

Assim é o chamado pattern Facade? Se não qual padrão viria a ser? 

Assim fica correto?

//ManagedBean
public class CalculoFace{

    Calculo selectedCalculo;
    CalculoBO calculoBO;


    CalculoFace(){
        selectedCalculo = new Calculo();
    }

    public Calculo getSelectedcalculo(){ return this.selectedCalculo;}
   
    public void setSelectedcalculo ( Calculo selectedcalculo){
        this.selectedCalculo = selectedcalculo;
    }

    public Integer calculaOperacao()
    {
        return calculoBO (selectedCalculo.getVal1() , this.selectedCalculo.getVal2()) // Fica assim mesmo?
    }
}

//CalculoBO.java

public class CalculaBO{

public Integer calculaOperacao(int val1, nt val2) 
  {         
          return val1 + val2;
  }

Posso usar esse BO(Business Object) no final do nome da classe? O BO se aplica mesmo a esse caso?

obs.: desculpa pelo monte de perguntas mas se eu não resolver essa pequenas dúvidas eu fico empacada :P

Obrigada de novo.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.