OOD和对象ID

时间:2013-12-20 16:53:59

标签: oop identity

我的应用程序管理水果记录。该应用程序支持不同类型的数据源。每个水果在数据源中都有唯一的ID。数据源的唯一性无法保证,因为我无法控制这些ID。

我创建了一个class FruitSourceManager{},允许我们在应用程序中配置(添加/删除)不同的水果源。

我也有class BasketFruitSource{} class CartFruitSource{} class TruckFruitSource{}每个都实现了 interface IFruitSource{}

我有一个 class FruitManager{} 它通过调用IFruitSource

上的操作在Fruit上提供CRUD操作

然后我有一个 在业务层使用的class Fruit{}和Web服务使用的class FruitDTO{}

该应用程序公开了一个允许您读取或修改水果记录的Web服务。     GetFruitById()     UpdateFruit()

可以将FruitSourceId与FruitId连接为FruitDTO中使用的单个ID吗?或者我应该使用两个唯一标识水果的参数(FruitSourceId和FruitID)?

一个与另一个有利有弊吗?还是我在这里分裂头发?

1 个答案:

答案 0 :(得分:0)

这取决于你对水果有什么样的身份。如果你的id是固定长度你理论上可以连接它们,但绝对不能增加数字

- > 123 + 1 = 12 + 31 等...

如果您不能影响供应商ID,请自行更好地识别它们。谁知道另一个供应商将来会有什么样的奇怪ID(订购号?)。