gpt4 book ai didi

java - getMessage 的设计模式

转载 作者:行者123 更新时间:2023-12-01 04:20:35 28 4
gpt4 key购买 nike

我有一个串行设备,可以传输多种类型的消息作为应答。每个消息头代表消息类型。每种消息类型都有其一组字段。我永远不知道我会收到哪种消息类型。

在我的代码中,每种消息类型都代表类。借助 getMessage 函数返回消息的最佳方式是什么?我可以返回将保存具体消息的消息接口(interface)或父消息类。但这设计真的好吗?

最佳答案

使用一个接口(interface)来概括几个结构相似的是一个很好的设计。

我猜你的结构如下:

public interface Message {
public String getType();
}

然后是几个实现,例如

public class FooMessage implements Message {
public String getType() { return "Foo"; }
public String getFooField() { return fooField; }
/* ... */
}

因此您的 getMessage() 方法如下所示:

public Message getMessage() {
Message message = /* get the next message */;
return message;
}

这将是解决该问题的好方法。

关于java - getMessage 的设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18958134/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com