Oop 面向对象和对象ID
我的应用程序管理水果记录。该应用程序支持不同类型的数据源。每个水果在数据源中都有一个唯一的id。无法保证数据源之间的唯一性,因为我无法控制这些ID 我已经创建了一个Oop 面向对象和对象ID,oop,identity,Oop,Identity,我的应用程序管理水果记录。该应用程序支持不同类型的数据源。每个水果在数据源中都有一个唯一的id。无法保证数据源之间的唯一性,因为我无法控制这些ID 我已经创建了一个类FruitSourceManager{},它允许我们在我的应用程序中配置(添加/删除)不同的水果源 我还有类BasketFruitSource{} class-source{} 类TruckFruitSource{}每个类都实现 接口IFruitSource{} 我有一个 类管理器{} 它通过调用IFruitSource上的操作来提
类FruitSourceManager{}
,它允许我们在我的应用程序中配置(添加/删除)不同的水果源
我还有类BasketFruitSource{}
class-source{}
类TruckFruitSource{}
每个类都实现
接口IFruitSource{}
我有一个
类管理器{}
它通过调用IFruitSource上的操作来提供对水果的CRUD操作
然后我有一个
业务层使用的class-Fruit{}
和web服务使用的class-FruitDTO{}
该应用程序公开了一个web服务,允许您读取或修改水果记录。
GetFruitById()
UpdateFruit()
可以将FROUCTSOURCEID与FROUCTID连接为FROUCTDTO中使用的单个ID吗?或者我应该使用两个参数(水果源ID和水果ID)唯一地标识水果
两者之间有什么利弊吗?还是我在这里吹毛求疵?这取决于你对水果有什么样的身份证。如果您的ID是固定长度的,理论上您可以将它们串联起来,但对于递增的数字,则绝对不能 --> 123 + 1 = 12 + 31 等等
如果你不能影响你的供应商ID,最好自己识别他们。谁知道另一个供应商将来会有什么样的奇怪id(订单号?)。为什么会用c#和java标记?这就是项目中使用的。但是,是的,这可以适用于任何其他语言。我更新了标签。IFruitSource和水果之间的关系是什么?我将根据这些信息指导我如何管理ID的决策。一对多还是一对一?这是一个聚合。水果只属于一个IFruitSource,但与IFruitSource的生命周期无关。如果移除了一个IFruitSource怎么办?相关的水果实例继续使用空的IFruitSource?是的,供应商ID可以是任何东西。所以我想的是固定宽度的源id后跟供应商id。或者使用分隔符。供应商id是源id的另一个名称?是供应商==源