Melhores praticas? com Actions

O que é recomendado?

Criar uma action pra cada funão mais especializada. Por exemplo UsuarioCadastroAction
UsuarioBuscaAction…

ou Uma action de usuario com métodos para cadastrar, pesquisar, etc… ?

To usando WW mas acho que se aplica ao Struts tambem.

Pra mim, essa eh uma eterna briga. Quando vc usa uma Action unica com varios metodos eu acho que complica a manutencao. Pq vc tem la o metodo de inserir, update, delete, consultar, e um cara vai e altera um desses metodos e acaba afetando outros que usam diretamente ou indiretamente. Vc teria que sempre testar tudo de novo, pra saber se houve impacto nos outros. Se vc tem testes de unidade e funcionalidade é tranquilo, mas pouca gente faz as rotinas de testes. Por outro lado vc corre o risco de ter muitas classes no seu projeto, dividir demais, e acabar não reutilizando o codigo. Mas eu prefiro correr esse risco. No caso do Service ai vc faz tipo Facade, todos os metodos disponiveis.

Eu geralmente faço minhas Actions para servir os use case da tela.
Por exemplo.
Se é um formulário de cadastro que contem todas as operações CRUD.
Eu coloco todas as operações na action.

Se é um formulário de consulta, eu faço uma Action para consulta.
É lógico que as actions só delegam para as camadas de negócio.

Também fico em dúvida se assim é a melhor forma.

a verdade é que as duas formas tem vantagens e desvantagens, vc so precisa saber qual risco quer correr.