我的应用程序管理水果记录。该应用程序支持不同类型的数据源。每个水果在数据源中都有唯一的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)?
一个与另一个有利有弊吗?还是我在这里分裂头发?
答案 0 :(得分:0)
这取决于你对水果有什么样的身份。如果你的id是固定长度你理论上可以连接它们,但绝对不能增加数字
- > 123 + 1 = 12 + 31 等...
如果您不能影响供应商ID,请自行更好地识别它们。谁知道另一个供应商将来会有什么样的奇怪ID(订购号?)。