【问题标题】:Command Pattern - parameters命令模式 - 参数
【发布时间】:2011-06-27 22:34:21
【问题描述】:

我希望在分布式客户端/服务器环境中使用命令模式。从本质上讲,接收器的“执行”方法需要接受各种参数,但是我读到每个命令类都应该有一个统一的“执行”方法,它不应该透露任何关于接收器的底层功能。

我的问题是,如何通过命令类将调用参数从开关传递到不同的接收器?有没有人有一个简单的Java示例?好像没找到

非常感谢您的帮助。

【问题讨论】:

    标签: java command-pattern


    【解决方案1】:

    在构造命令实例时传递它们。

    public class ConcreteCommand implements Command {
    
        private Object something;
    
        public ConcreteCommand(Object something) {
            this.something = something;
        }
    
        @Override
        public void execute() {
            // ...
        }
    
    }
    

    或者如果您真的需要传递参数(因为它们代表工作状态而不是算法状态),那么您应该这样做并改名为“strategy pattern”;)

    【讨论】:

    • 太棒了!非常感谢您的帮助!
    猜你喜欢
    • 2010-09-11
    • 2017-10-07
    • 1970-01-01
    • 1970-01-01
    • 2018-07-24
    • 1970-01-01
    • 2020-11-15
    • 2016-02-28
    • 2011-02-26
    相关资源
    最近更新 更多