spring MVC,到底是在一个controller里面写很多方法好,or拆分......
spring MVC,到底是在一个controller里面写很多方法好,or拆分成很多个controller,每个controller里面一个execute方法好?
=======分割线=======
另外,我还想问下,如果拆成多个controller,那为什么service层,一般又是在一个service里面写很多方法,而不是拆成多个service呢??
一个或多个controller,根据你的业务来划分。
一个或多个service,也是根据你的业务来划分。
总之没有绝对的标准,如果硬是要说标准,那就是让程序结构更加合理。
一个Controller里面可以写跟某个模块或者功能相关的N个方法的,没有必要写N个Controller的。
怎么说了,类或者Service的类的编写通常是完成某个功能相关的方法,只要保证每个方法的单一职责功能就可以了,而这些单一的方法合在一起又是一个大功能。
Service层是具体的功能方法,直接供 controller调用,抽取的目的是在面向抽象编程的实现过程中,如果底层实现变更,只需要增加新的实现,而controller层代码就完全不需要变动。这就是抽象编程的好处。
controller 层 :SystemController,UserController,StrudentController,TeacherController....按操作对象分
不是流行restful风格的url 对应就是
/users/ GET POST DELETE PUT
/systems/ GET POST DELETE PUT
/students/ GET POST DELETE PUT
/teachers/GET POST DELETE PUT
service层:UserService,TeacherService 按角色分
也可以按功能分LoginService
Controller 一般只传递参数 业务逻辑处理交给 service的实现来处理
也可以拆成多个service ,mvc为了让代码解耦,方便结队编程和后期维护。
大量的代码全写到同一个controller或者service,很low。一点也不优雅。
一个业务功能一个controller一个service一个serviceimpl
我们做项目是一个service对应一个对象 一个controller对应一个service