Skip to content

The design and implementation of the target method pretest model. 目标方法前置检验模型设计与实现,应用于所有需要在目标操作前插入N个前置验证条件的情况(如:登录后自动执行关注、登录后继续上次的发帖操作)

Notifications You must be signed in to change notification settings

feelschaotic/DelayAction

Repository files navigation

DelayAction 目标方法前置检验模型

一、需求背景

在执行目标行为时,需要执行一些前置的行为。而这些前置行为,需要用户参与才能完成。例如:未登录情况下点击关注用户,跳转登陆,登陆成功后自动执行关注。

二、如何使用

  • 无嵌套调用(常用场景,单Action):

ActionActivity实现Action接口,或 new Action实现类,实现 call 目标行为。

SingleCall.getInstance()
          .addAction(ActionActivity.this)
          .addValid(new LoginValid())//前置条件,可能有多个
          .addValid(new OtherValid()
          .doCall();

前置行为完成后,调用SingleCall.getInstance().doCall();启动验证模型

  • 嵌套调用(多Action):
Call call1 = new Call(new Action() {
    @Override
    public void call() {
    }
});
Call call2 = new Call(new Action() {
    @Override
    public void call() {
    }
});
callUnit1.addValid(new LoginValid());
callUnit1.addValid(new AnotherValid());
callUnit2.addValid(new OtherValid());

MultipleCall.getInstance()
        .postCall(call1)
        .postCall(call2);

前置行为完成后,调用MultipleCall.getInstance().reCheckValid();启动验证模型

三、架构设计

类关系图

详细博文介绍请戳

本项目在 jinyb09017 大大的基础上完善

  • 增加了容错处理
  • 补充了嵌套 Call 的情况

About

The design and implementation of the target method pretest model. 目标方法前置检验模型设计与实现,应用于所有需要在目标操作前插入N个前置验证条件的情况(如:登录后自动执行关注、登录后继续上次的发帖操作)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages