Amigos que usaram macros devem saber que o uso de macros pode vincular várias habilidades a uma chave. Por exemplo, se a habilidade classificada em primeiro lugar tiver um CD, esta habilidade será ignorada e as habilidades subsequentes serão executadas. Lembro-me de quando jogava DK, quando lutava contra monstros, usava apenas um botão e ficava pressionando-o. Nos métodos doGet e doPost no servlet, geralmente enviamos a solicitação doGet para doPost para processamento. Este também é um modelo de cadeia de responsabilidade.
Aqui, há uma macro que une as duas habilidades “Ice-Blooded Cold Pulse” e “Ice Arrow”. O exemplo do programa é o seguinte:
responsabilidade do pacote;/** * interface de habilidade DOC, as habilidades a serem vinculadas devem implementar esta interface* */public interface ISkill { public void castSkill();}responsabilidade do pacote;import java.util.ArrayList;import java.util List; /** * Classe macro DOC, usada para unir múltiplas habilidades para obter transmissão com um clique* */public class Macro { /** * Coleção DOC de múltiplas habilidades unidas*/ public List<ISkill > skills = new ArrayList<ISkill>(); /** * * DOC lança habilidades na ordem de ligação */ public void castSkill() { for (int i = 0; i < skills.size(); i++) { skills.get( i).castSkill(); Habilidade DOC Ice Arrow, sem tempo de resfriamento* */public class IceArrow implements ISkill { @Override public void castSkill() { System.out.println("Cast--"Ice Arrow"); }}responsabilidade do pacote;/* * * Habilidade DOC Ice-Blooded Cold Pulse, tempo de resfriamento 2 minutos*/public class IceBloodFast implements ISkill { @Override public void castSkill() { // Isso pode ser usado para determinar se a habilidade está esfriando. System.out.println("Cast--"Ice-Blooded Cold Pulse") é omitido aqui; }}
Aula de teste:
responsabilidade do pacote; public class Main { public static void main(String[] args) { Macro macro = new Macro.bindSkill(new IceBloodFast()); );}}
Resultados do teste:
Agora lançando - "Lançamento de pulso frio de sangue gelado -" Flecha de Gelo
Resumo: O modelo de cadeia de responsabilidade é usado principalmente quando uma solicitação pode ter vários objetos para processar.