首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在我的HR管理系统中,是否应该从代表员工的抽象数据类型中提取数据库API?

在我的HR管理系统中,是否应该从代表员工的抽象数据类型中提取数据库API?
EN

Stack Overflow用户
提问于 2015-04-19 23:05:39
回答 1查看 69关注 0票数 2

我正在尝试将一些OOP原则应用到一些C抽象数据类型模型中。给定一个抽象Employee的ADT,其中Employee实例是不可变的(在实例化Employee时,它提供了唯一的主键名称和姓氏,并且这个主键在Employee对象生命周期中保持不变),我想知道这个ADT是否应该关心将他的数据保存在数据库中。

因此,给出ADT的这段代码:

代码语言:javascript
复制
static char* address; //Address of the Employee   

TakeNewAddress(char* newaddress)
{
  .....  
} 

GiveAddress(char* address)
{
  ....
}

SetAddress方法是否应该将新地址的内容复制到他的地址属性中并将其保存到数据库中,还是应该只更新他的地址属性?GiveAddress应该返回地址变量,还是应该从数据库中检索它?

我认为这个代表员工的ADT不应该关心内部数据库(这不是你要求员工的事情),所以将他的数据保存到数据库中应该由系统的特殊处理程序或用户界面在此ADT之外执行。

EN

回答 1

Stack Overflow用户

发布于 2015-04-20 00:22:25

我不确定将员工定义为ADT是否会给您带来很大的实际好处。我可能错了,但我习惯于将ADT视为数据结构,而不是特定于业务的实体的定义。

除了这个评论,在我看来,你的逻辑是绝对正确的。ADT应该是关于操作、值和约束的,在我看来,它应该与持久性无关。如何将类型存储为一个整体与它无关,我也不会将其与数据库耦合。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29731617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档