美文网首页
《Android源码设计模式解析和实战》命令模式

《Android源码设计模式解析和实战》命令模式

作者: wslerz | 来源:发表于2017-03-10 19:21 被阅读0次

    命令模式: 接收者(执行者)内实现具体的事件; 命令类持有接收者的引用,并提供方法调用接收者的方法;请求者持有一个或多个命令,并提供调用命令的方法;

    接收者(执行者)
    <pre>
    public class Receiver {
    private static final String TAG = "Receiver";

    public void action() {
        Log.i(TAG, "action: ");
    }
    

    }
    </pre>
    命令类
    <pre>
    public interface Command {
    void execute();
    }
    public class CommandImpl implements Command {
    private Receiver receiver;

    public CommandImpl(Receiver receiver) {
        this.receiver = receiver;
    }
    
    @Override
    public void execute() {
        receiver.action();
    }
    

    }
    </pre>
    请求者
    <pre>
    public class Invoker {
    private Command command;

    public Invoker(Command command) {
        this.command = command;
    }
    
    public void action() {
        command.execute();
    }
    

    }
    </pre>
    使用
    <pre>

    public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Receiver receiver = new Receiver();
        Command command = new CommandImpl(receiver);
        Invoker invoker = new Invoker(command);
        invoker.action();
    }
    

    }
    </pre>
    log
    <pre>
    03-10 19:14:48.843 15277-15277/com.lerz.commanddemo I/Receiver: action:
    </pre>

    相关文章

      网友评论

          本文标题:《Android源码设计模式解析和实战》命令模式

          本文链接:https://www.haomeiwen.com/subject/xxeogttx.html