java23种设计模式之命令模式

上一节说到责任链模式: https://blog.csdn.net/zhanglei082319/article/details/89109599

      责任链模式的抽象定义:将请求传给一个接收者链,由链将请求流转给目标对象。就是说责任链可以像一个链条一样一环套一环的将各个业务串联在一起,有顺序的执行下去。并且可以在执行中做一些自定义操作。

      今天需要将的命令模式,在实际中一般会和责任链模式联合使用。

      命令模式:  将指定的功能接口实现,抽象成一个命令接口,放在单独的类中实现。

      下面模拟一个查询用户接口的命令模式设计:

       1、首先新建一个抽象命令接口

/**
 * 命令接口
 */
public interface Command<T> {


    /**
     * 命令执行
     */
    T    execute();
}

       2、针对这个抽象命令接口,实现一个查询用户的命令。

/**
 * 查询用户命令
 */
public class QueryUserCommand implements Command<List<User>> {

    private User user;

    private UserMapper userMapper;

    public QueryUserCommand(User user,UserMapper userMapper){
        this.user = user;
        this.userMapper = userMapper;
    }

    @Override
    public List<User> execute() {
        return userMapper.queryUser(this.user);
    }
}

     3、然后我们在service层方法直接调用这个命令实现。

@Service
public class UserService {

    @Resource
    private UserMapper userMapper;

    public List<User>   queryUser(User user){
        return new QueryUserCommand(user,userMapper).execute();
    }
}

     这样一个简单的查询用户命令案例编写完毕,在实际开发中也可以通过这样的方式将实现抽象封装到单个的类中,可以提高代码的可读性和可维护性。

    

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值