只是寻找一些有关我在某些消息处理代码中使用的结构的建议。
我正在处理的消息本质上是带有各种“段”的字符串。我已经编写了一些类来处理段(每个类一个段类型)。段阅读器是包含通用方法的Abstract类的扩展。最后,每个细分受众群都有公共方法和私有方法。现在,代码的第一个版本根据需要将消息传递给每个段读取器的构造函数:
SegmentReaderType1 r = new SegmentReader1(message)
String item = r.getSomethingInteresting()
这看起来很笨拙-因此我尝试了(使用静态方法):
String item = SegmentReaderType1.getSomethingInteresting(message)
这看起来比较干净,但是某些读者内部很复杂,因此(内部)传递了大量消息(我不知道这是好是坏?)。
作为替代方案,我一直在想是否存在一种机制,可以将抽象父级的消息“共享”给读者?也许单例MessageHolder是更好的选择?
该代码有效,但是我实际上是在尝试开发更好的编码技术。任何帮助表示赞赏
最佳答案
在您的情况下,拥有静态字段和属性是最佳选择。您不能将Singleton与SegmentReaderType1类一起使用,因为无法实例化抽象类。我认为,仅仅为了保留信息而换一个班太多了。