我应该从我的人力资源管理系统中抽象出代表员工的抽象数据类型的数据库API吗?
我想将一些OOP原则应用于某些C抽象数据类型模型。给定一个ADT抽象Employee,其中一个Employee实例不可变(当实例化一个Employee时,它给出一个唯一的主键Name和Last Name,并且该主键在Employee对象生命期间保持不变),我想知道这个ADT是否应该关心保存他的数据在数据库中。我应该从我的人力资源管理系统中抽象出代表员工的抽象数据类型的数据库API吗?
所以给这片ADT代码:
static char* address; //Address of the Employee TakeNewAddress(char* newaddress)
{
.....
}
GiveAddress(char* address)
{
....
}
是否应SetAddress方法newaddress的内容复制到他的地址属性,并将其保存到数据库中或它应该只更新他的地址属性? GiveAddress应该返回地址变量还是应该从数据库中检索它?
我认为这个代表员工的ADT不应该关心内部数据库(这不是你要求给员工的东西),所以将他的数据保存到数据库中应该在ADT之外由一个特殊的处理程序或用户界面执行系统。
回答:
我不确定将员工定义为ADT会给您带来很大的实际好处。我可能是错的,但我习惯将ADT视为数据结构,而不是业务特定实体的定义。
除了这个评论,我认为你的逻辑是绝对正确的。 ADT应该是关于操作,价值和约束的,在我看来,它应该是不可知论的坚持。如何将这个类型作为一个整体来存储是没有关系的,我不会将它与数据库耦合。
以上是 我应该从我的人力资源管理系统中抽象出代表员工的抽象数据类型的数据库API吗? 的全部内容, 来源链接: utcz.com/qa/260179.html