vue 使用service层维护代码

来源:8-17 本章总结和知识梳理

小鹏友的小弟

2023-07-05

问题1: vue 使用service 层把逻辑都分离出去了在vue文件里面看着是清爽了,但是如果方法太多在service层不也会很乱吗?
问题2: 逻辑全部搬运到service层了,后期维护寻找代码,需要两个文件之间来回横跳,不是也会增加维护的难度吗

写回答

2回答

慕粉3946981

2023-07-21

如果一个vue组件中太多代码那只能抽离逻辑封装成一个个的子组件,不然一个.vue文件中大几百行代码,不论是通过视频中的方法还是写在一个script中,阅读起来都很痛苦

0
0

keviny79

2023-07-06

问题1:service 是 java 沿用了20多年的一种编程写法, service 层体现的是业务的功能,优势主要体现在

(1)service 层的类让功能各司其职,利于代码的维护和管理,尤其是当业务变得复杂时可维护性能明显体现出来。

    1.1 比如 提交订单这个方法就是由很多个 dao 方法合成的一个独立的复杂的功能,如果这样的复杂业务很多,如果都放到控制层,就会让控制层代码职责模糊和代码变得非常混乱不清【数据展示和功能混在一起对于大中项目的维护会痛苦不堪】.

  1.2 如果放到 dao 层,那么会带来两个问题,有的业务功能是跨 dao 类方法合成的,比如截图的订单功能,涉及到 

OrderDao, ShopCartDao, 将来扩展时还要把 ProductDao (减库存)加进来, 这么多 Dao 方法 必须由一个单独的 Service 来管理,如果不放到 Service 层,假如放到 OrderDao 中, 订单 Dao 内嵌套 ProductDao,ShopCartDao 就会让整个项目代码变得混杂起来,如果一个项目变的足够大,这样的功能有1000个 ,那么就会出现 Dao 中你中有我,我中有它,那就像一个蜘蛛网一样找来找去,混乱不堪。

(2)service 层 同类项目或者项目技术变更或扩展时迁移方便。

 如果dao 层现在要扩展一个项目,比如项目组需要使用 Oracle 数据库来重新改造一遍 (代码和 MySql Dao 会大同小异,这种改造可能过去经常有,未来随着新的技术出现也许还会有,那么如果这些业务放到了 Dao 里,那么就需要在构建 Oracle 数据库 Dao 时重新在写一遍,。

 (3) service  层体现了业务功能,集合项目所有的业务功能,比如 submitOrder ,outStock 等,能让我们集中维护项目的功能。

 相比 service 足够大的优点,简单多出的跳转的问题可以忽略不计了。//img.mukewang.com/szimg/64a6302809fca93c14410914.jpg

0
0

前端高手养成计划-从前端到后端,全栈开发大型项目

从纯前端到“真正懂后端的前端”

215 学习 · 134 问题

查看课程