我有一本UEN(通用数据模型)取自LEN SILVESTON的书,我想在C Sharp中将其作为面向对象的设计实现,以模拟PARTIES,PERSONS&组织。
虽然从逻辑模型移动SUPERTYPES和SUBTYPES很容易通过类层次结构完成,但我不确定如何处理关系。关系世界(物理数据库)世界中的多对多关系通常将被实现到单独的关联表中。我有一种感觉遵循这种范式,并且在面向对象的世界中实现M-M关系作为一个单独的“关联”类可能不是可行的方式....或者是吗?
此外,是否有人知道是否有任何文章是以面向对象的方式实现这些UDM的?
感谢您的任何指示。
答案 0 :(得分:1)
我有一种感觉遵循这种范式,并且在面向对象的世界中实现M-M关系作为一个单独的“关联”类可能不是可行的方法。
你的感觉是正确的,在面向对象的世界中,你不必有一个单独的关联类来模拟多对多的reaationships。实现此目的的最常用方法是在关联的每一侧使用集合,从而产生多对多关联。看一下多对多关系的以下C#示例:
class A {
List<B> bs;
}
class B {
List<A> as;
}