OOAD - 表示两种类型之间关系的属性

时间:2013-07-26 21:18:45

标签: relationship data-modeling ooad

我已经开始为社区项目建模一些城市交通数据(公交线路和公交车站)。数据以JSON文件的形式传达给我,我想从中创建一些类,首先考虑已有的数据。

有一个BusLine对象,其JSON不包含与BusStop相关的信息。

还有一大堆BusStop,其中一个属性是BusLines,是一组(引用)公交线路的集合,通过该站点。

到目前为止,我已经对此进行了建模(C#样式,但最初仅用于可视化):

public class BusLine
{
    public String code;
    public String name;
    public List<DirectPosition> route;
}


public class BusStop
{
    public String code;
    public DirectPosition location;
    public List<BusLine> busLines;
}

我怀疑,从现在开始,这是:我很可能会想知道与BusStops相关联的BusLine。我想象一些可行的方法,但我不确定如何解决这个相当微不足道的情况。我天真的想法:

  1. 创建一个getStops()方法,该方法可以查看该路线上存在哪些停靠点,并即时创建此类列表;
  2. List<BusStop> stops课程中创建一个明确的BusLine属性(听起来非常错误);
  3. 完全消除遏制并创建第三种“关系”类,它可以(以某种方式)管理这些类之间的关系。这意味着从JSON文件中提取的关于这些关系的知识不会存储在实体内部,而是存储在其他地方。
  4. 我很确定这是一种常见的模式(我敢打赌至少有一种设计模式),但我目前的知识水平让我毫无头绪......

    感谢您的帮助!

0 个答案:

没有答案