0

我正在尝试对我的系统的域进行建模,但我遇到了问题并且可以提供一些帮助。

我的问题是观点之一。我正在建模一个系统,其中我有一个客户实体,该实体将有许多订单实体,并且系统将需要列出选定客户的所有订单(视角 1)。因此,我建模了一个包含 Orders 集合的 Customer 类......简单。但是我刚刚意识到,系统还需要列出所有订单以及客户的详细信息(观点 2),这意味着我从每个订单中都有一个客户参考。

问题是,从每个角度来看,我都会花时间创建我不感兴趣的对象。例如,当我将显示订单列表时,将为每个订单创建一个客户实例;反过来,Customer 实例将保存他们所做的订单的集合(从这个角度来看,我对此不感兴趣!!)。

有人可以提供建议吗?我以前遇到过这个问题,但我从来没有花时间设计一个合适的解决方案。

问候,

4

1 回答 1

2

我以前见过这个。诀窍是区分客户身份和客户详细信息(例如订单)。然后,您可以从所有 Order-Objects 链接到 Customer-Identity-Object,并在另一个视图中从 Customer-Identity-Object 链接到 Customer-Details-Object,后者进一步链接到 Order-Objects(您可能希望这个已订购按时间顺序)。

该实现可以作为对象系统或关系数据库进行(在这种情况下,您将拥有一个以 CustomerID 为键的“客户”表、他们的地址等;以及一个以 OrderID 为键、以 CustomerID 为键的表“订单”另一列。

于 2011-02-20T21:21:38.900 回答