Pergunta

O que é o padrão de design de Acção, eu não tenho ouvido falar dele antes? Estou suspeitando que é o mesmo que o Projeto de Comando padrão [wikipedia], mas não consigo encontrar quaisquer recursos nele.

Foi útil?

Solução

Você tem razão, padrão de ação == padrão de comando. Você ouvi-lo chamado de padrão de ação mais frequentemente em design GUI, na forma "em algum botão pressionado, executar esta ação". No código do botão seriam ligados com um objeto de algum tipo de ação.

Outras dicas

Estou lendo " A Ação / Executor Padrão " no MSDN agora, e eu tenho que discordar com a premissa de que os padrões de comando e Ação / executor são os mesmos.

A partir da descrição do Comando Padrão em SourceMaking.com:

  • Encapsular um pedido como um objeto, permitindo assim parametrizar clientes com diferentes solicitações, fila ou solicitações de registro, e apoiar as operações que podem ser desfeitas.
  • Promover "invocação de um método em um objeto" ao status de objeto completo
  • Uma orientada a objeto callback

A partir do artigo MSDN sobre o padrão Ação / Executor:

A ação / executor padrão identifica uma estratégia para casos de uso de mapeamento para o código, permitindo melhor visibilidade e agilidade. Além disso, ele aborda as questões de contaminação entidades e saltando sobre o uso adequado de transações.

A diferença parece ser que uma "ação" encapsula uma ou mais etapas, que quando realizada com sucesso delegar o controle a outro objeto responsável por saber como manter essas alterações para um banco de dados, serviço web ou arquivo de armazenamento. A ação é desacoplada da forma como ele é executado / persistiu.

sente "comando" A como uma metade do padrão Ação / executor - a "ação" parece sinônimo de um "comando". O padrão Ação / Executor leva as coisas um passo além e descreve outra preocupação cuja responsabilidade é levar as mudanças geradas pela "ação" ou "comando" e salvá-los em algum lugar.

padrão de projeto Ação é o mesmo que padrão de design de Comando. A ação é uma entidade chave, que encapsula informações com em si mesmo sobre o que é o seu comportamento, o processamento tem que ser feito em seu método do (), como pode ser desfeita, e assim por diante. Quando um aplicativo ou qualquer de seus componentes é projetado de acordo com o padrão de projeto Ação, em seguida, a atividade Tudo no aplicativo pode ser representada na forma de ação, cada coisa pode ser refeito / desfeito várias vezes. Por exemplo. Macros no Excel, undo / redo em texto-editores, etc.

classe ação, que é um bloco de construção neste padrão de design pode ser concebido como a seguir: -

public interface Action{
  public void do();
  public void undo();
  public void do(int iNoOfTimes);
}

public class FileCopyAction implements Action{
  private int iActionId;
  public void do(){}
  public void undo(){}
  public void do(int iNoOfItems){}
}

Hope isso ajuda.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top