VertexHeuristicComparator

VertexHeuristicComparator

我正在尝试解决3D空间中的路径规划问题并取得了成功,但是我不知道我的解决方案是否具有足够的松散耦合。我有三个源文件,每个文件包含一个公共类:Vertex.java,VertexHeuristicComparator.java和PathPlanningUtil.java。

顶点包含三个字段:3D空间中的Pointlocation),对另一个顶点的引用(parent)和保持与目标顶点距离的floatdistToGoal)。路径规划中使用了一组顶点来探索环境并找到最佳路径。

VertexHeuristicComparator实现Comparator<Vertex>。我已覆盖compareTo方法以在比较中使用distToGoalparent。该方法有效地定义了最佳顶点是什么,以便路径规划可以优先搜索。

PathPlanningUtil包含方法planPath(Point start, Point goal)。此方法返回一个ArrayList<Vertex>,该VertexHeuristicComparator表示3D空间中从起点到目标的路径。此方法使用VertexHeuristicComparator来确定如何通过探索VertexHeuristicComparator确定为“最低”顶点的顶点来探索环境。

由于planPath是路径规划逻辑的核心。更改VertexHeuristicComparator源代码将导致planPath返回不同的路径。彻底更改的输出对VertexHeuristicComparator的更改是否不好耦合?

最佳答案

为了回答您的直接问题,


  将VertexHeuristicComparator更改为以下内容是否不好耦合?
  彻底更改planPath的输出?


不会。如果对VertexHeuristicComparator的更改导致对PathPlanningUtil代码的更改,则耦合将很差(紧密)。只要您可以更改一个类的代码而不必更改另一个类的代码,就可以实现相当宽松的耦合。

关于java - 这是不好的耦合吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32130932/

10-11 04:13