用于从现有数据对象提取信息的OO设计

时间:2018-10-01 11:34:06

标签: java oop

我的代码接收到X类的实例,该实例表示某种数据。我需要从这些对象中“提取”一些信息,并且需要在代码中的几个不同类中进行此操作。

实现此目标的第一个想法是创建一个具有公共方法extractInfoFromX的“数据提取器”类,该方法将类X的对象作为参数并返回相应的信息。这将是一个静态方法,因为它不依赖于任何状态。并且此类永远不会被实例化。但是我知道这与OOP的基本思想背道而驰。

我不想使用仅与我非常特定的子任务相关的函数来“污染”普通类X。我也无法更改创建X实例的方式。解决该问题的最佳OOP做法是什么?

编辑: 要求的其他背景信息: X类的对象表示C程序(以实现访问者模式的控制流自动机的形式)。在我的代码中,我只需要查找在这些程序中声明的函数的特定子集。唯一的方法是通过自动机节点(通过访问者)迭代并收集相关的节点。我需要在不同的地方按不同的条件进行过滤,但有些地方也共享相同的条件。定义其中一个访问者需要大约35行代码。

0 个答案:

没有答案