请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于领域对象

在实际开发中,领域对象和后端数据库中的表是一一对应的吗?像一些后台管理的项目中,可以不用领域对象吗?用了领域对象的好处有哪些?求老师指教

正在回答 回答被采纳积分+3

2回答

提问者 505380967 2018-07-28 22:05:25

因为获取到的后端数据可能会包含例如创建时间,修改时间等字段,会有一些前端不需要用到的字段。而领域对象用在服务中,来规定http请求返回的数据类型,如果领域对象和后端返回的数据不一样,不会出现问题吗?

0 回复 有任何疑惑可以回复我~
  • 首先,领域对象不是要规定 http 返回的数据类型,而是 service 中我们要把服务器返回的数据转换成我们的领域对象,在前端的领域对象是为前端服务的。如果服务器返回数据不是你想要的形式,那你就要去转换成自己想要的形式
    回复 有任何疑惑可以回复我~ 2018-07-28 22:26:27
  • 提问者 505380967 回复 接灰的电子产品 #2
    那么前端领域对象和后端获取的数据之间是什么关系?比如领域对象中的字段是后端数据的子集,还是两者之间可以没有关系?目前公司有个后台的项目,不准备使用领域对象,我该怎么去说服公司用领域对象。???
    回复 有任何疑惑可以回复我~ 2018-07-29 20:59:19
  • 接灰的电子产品 回复 提问者 505380967 #3
    可以没有关系,前端的建模和后端关注的点是不一样的,但一般来说是有很多重叠的。我举个例子,比如我们有这么一个用户对象,它的属性有用户名、姓名、手机号以及头像。但这个头像呢是采用了另一个第三方的服务提供的,那么从后端角度它可以有这个头像属性,也可能由于某种因素,后端不打算处理这个属性。而从前端来看,如果要求有用户头像的显示的话,那么这个属性就是用户对象的一部分。但从获取数据角度看,前端需要先从自己的后台获取用户的用户名、姓名、手机号,然后再从第三方服务获得头像。这种情况下,前端的领域对象就不是后端的领域对象也不是它的子集。有没有联系呢,有一部分联系。但终究要去根据具体的业务来设计领域对象。而不是这样凭空去问,没意义。
    第二点,不使用领域对象,我没法想象该如何构建系统,比如如果我们要新增一个数据,你不传递对象,而是传递十几个值吗?这样的系统维护起来是怎样一个噩梦啊
    回复 有任何疑惑可以回复我~ 2018-07-29 22:09:14
接灰的电子产品 2018-07-28 21:38:45

怎么说呢,领域对象就是我们怎么理解业务抽象而来啊,如果不用领域对象,就说明你对业务没有一个面向对象的抽象理解。至于领域对象和后端数据库是否一一对应,这个倒是不一定,前端是前端,后端是后端,有的时候如果大家抽象的模型一致那么有可能是一样的,但很多时候后端和前端考虑的因素并不一致。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信