采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
在实际开发中,领域对象和后端数据库中的表是一一对应的吗?像一些后台管理的项目中,可以不用领域对象吗?用了领域对象的好处有哪些?求老师指教
因为获取到的后端数据可能会包含例如创建时间,修改时间等字段,会有一些前端不需要用到的字段。而领域对象用在服务中,来规定http请求返回的数据类型,如果领域对象和后端返回的数据不一样,不会出现问题吗?
首先,领域对象不是要规定 http 返回的数据类型,而是 service 中我们要把服务器返回的数据转换成我们的领域对象,在前端的领域对象是为前端服务的。如果服务器返回数据不是你想要的形式,那你就要去转换成自己想要的形式
那么前端领域对象和后端获取的数据之间是什么关系?比如领域对象中的字段是后端数据的子集,还是两者之间可以没有关系?目前公司有个后台的项目,不准备使用领域对象,我该怎么去说服公司用领域对象。???
可以没有关系,前端的建模和后端关注的点是不一样的,但一般来说是有很多重叠的。我举个例子,比如我们有这么一个用户对象,它的属性有用户名、姓名、手机号以及头像。但这个头像呢是采用了另一个第三方的服务提供的,那么从后端角度它可以有这个头像属性,也可能由于某种因素,后端不打算处理这个属性。而从前端来看,如果要求有用户头像的显示的话,那么这个属性就是用户对象的一部分。但从获取数据角度看,前端需要先从自己的后台获取用户的用户名、姓名、手机号,然后再从第三方服务获得头像。这种情况下,前端的领域对象就不是后端的领域对象也不是它的子集。有没有联系呢,有一部分联系。但终究要去根据具体的业务来设计领域对象。而不是这样凭空去问,没意义。 第二点,不使用领域对象,我没法想象该如何构建系统,比如如果我们要新增一个数据,你不传递对象,而是传递十几个值吗?这样的系统维护起来是怎样一个噩梦啊
怎么说呢,领域对象就是我们怎么理解业务抽象而来啊,如果不用领域对象,就说明你对业务没有一个面向对象的抽象理解。至于领域对象和后端数据库是否一一对应,这个倒是不一定,前端是前端,后端是后端,有的时候如果大家抽象的模型一致那么有可能是一样的,但很多时候后端和前端考虑的因素并不一致。
登录后可查看更多问答,登录/注册
全网首个介绍官方 Material 组件库用法与 Redux 在 Angular 中的应用
1.1k 7
2.3k 4
1.0k 19
957 11
1.0k 9