我正在尝试为我们的企业应用程序创建一组模型。它从来没有让它们与数据库非常紧密地联系在一起。在这一点上,我试图简单地回答“Is-A”或“Has-A”问题。我是基于数据库结构的,但我不想被束缚。
首先,我有一个非常明显的 Person 模型,带有典型的“Has-A”电话和地址。几乎所有东西都使用那个 Person 模型并且是“Has-A”。
但是,我们有会员。在我们的数据库/当前系统中,成员是具有注册的人。具体来说,是取消注册(按日期) 的某种类型的注册。
一方面,我觉得 Member 会继承形式 Person 作为“Is-A”关系。但是我对这种类型的事情很陌生,我想知道我是否想多了。我的人是“有一个”注册还是暗示其他什么?
这让我想知道,如果我有会员,我是否应该有不同的“Is-A”模型用于预注册、注册、前注册?似乎这更像是一个国家问题,但同样,我对此并不陌生。如果这是一个状态问题,我是否回到只是拥有一个“有-A”注册的 Person 模型?
我理解这在某种程度上是基于意见的,我欢迎每个人对此发表意见。