假设我正在编写一个聊天机器人(不和谐、电报等)。机器人可以处理聊天命令(例如 !join 告诉它加入服务器上的语音频道)。
所以在我的代码中的某个地方我必须解析命令,我会有类似的东西
String userMessage = getTheMessageTextSomehow();
// Do something with the message.
我想为我的每个命令都有一个 Command 类,并且每个命令都会实现一个 execute() 方法。
我的问题是:创建这些命令对象的最佳实践是什么?
最简单的方法是在某个地方拥有一个大型 CommandFactory 或任何类,就像
if(message.equals(JOIN_MESSAGE) {
return new JoinCommand();
}
if(message.equals(LEAVE_MESSAGE){
return new LeaveCommand();
}
//etc...
对我来说,这看起来像是一种不好的做法和代码味道。有更好的方法吗?
米琪卡哇伊
郎朗坤
大话西游666
相关分类