domain、entity和model的package的区别

分享知识 传递快乐

平时写项目包名都是创建entity、dao/mapper、service、biz等,可在一些开源的项目里有一个包叫domain,里边放的是实体类,从功能看和我们平时用的entity没什么差别,于是就好奇研究了一下,原来还是有区别的:

entity(实体)

entity的意思就是实体,所以也是最常用到的,entity包中的类必须和数据库相对应,且类型必须一致。

model(模型)

model的意思就是模型,当用model当包名的时候,一般里面存的是实体类的模型,一般是用来给前端用的。个人看法model与entity相差不是很大。

domain(域)

domain这个包国外很多项目经常用到,字面意思是域的意思,范围有点广。

比如一个招聘网站的项目,最重要的对象就是简历了,那么简历是怎么存到数据库的呢,不可能用一张表就能存的,因为简历包含基本信息和工作经验,项目经验,学习经验等。基本信息可以存在简历表,但是涉及到多条的就不行,因为没人知道有多少条工作经验,项目经验,所以必须要单独建工作经验表和项目经验表关联到简历基本信息表。但是前台页面是不关心这些的,前台需要的数据就是一个简历所有信息,这时就可以用到domain来处理,domain里面的类就是一个简历对象,包含了简历基本信息以及list的工作经验,项目经验等。这样前端只需要获取一个对象就行了,不需要同时即要获取基本信息,还要从基本信息里面获取工作经验关联的简历编号,然后再去获取对应的工作经验了。

当然,如果用model的话也是可以达到domain的效果的。这个完全是看个人喜好和项目的整体架构,因为创建不同的package的作用本来也就是想把项目分成不同的层,便于管理和维护。

Entity接近原始数据;

Model接近业务对象;

Domain很少用,代表一个对象模块。
 

—————————

如有不足请留言指正

相互学习,共同进步

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旷野历程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值