Certo… era justamente isso que estava precisando entender. Isso que vocês me falaram batem com uns artigos que ando lendo. Na verdade as actions são controllers, elas são como auxiliares do servlet do struts. Pelo que li, elas são uma implementação do padrão Command.
Agora vamos supor que eu tenha uma entidade chamada cliente. Nesta entidade eu tenho as seguintes colunas: identificacao, nome e pessoa. Suponha ainda, que o campo pessoa irá receber JURIDICO se a identificação for um CNPJ e FISICO se na identificação for informado um CPF. Bom, isso é uma regra, certo ?
Pelo o que ando lendo e pelo que eu ando aprendendo trocando idéias com a galera aqui no GUJ, a minha distribuição ficaria assim:
MODELO
ClienteBean = Classe sem validações, sem regas somente com os atributos getters e setters.
ClienteDAO = Classe sem validações , sem regras responsável por pegar o ClienteBean e persistí-lo no banco.
ClienteNegocio = Classe sem os atributos da entidade. Deve conter somente métodos que representem as regras. No nosso caso ele teria o método: public void verificaPessoa(ClienteBean cliente) . SIMPLORIAMENTE FALANDO, esse método verificaria, através do tamanho do conteúdo da propriedade identificacao, o conteúdo do atributo pessoa. Se identificacao tiver 11 caracteres(CPF) , pessoa = FISICA, senão pessoa=JURIDICA .
CONTROLLER
No controller eu teria o servlet do struts(estou estudando vraptor, mas continuo aceitando sugestões)
AdicionaClienteAction AdicionaClienteForm = Cria e popula o bean, submete aos métodos da classe de negócio, e entrega o bean ao DAO para ser gravado no banco.
VIEW
Minha página cadastro-cliente.jsp
O que acham, está legal isso ?
Obviamente não influi no funcionamento , mas a nomenclatura está bacanal ? É assim mais ou menos assim que vocês utilizam ?
Valeu rapazeada !
Mais uma vez obrigado.