一.概念说明 1.服务是对公共代码的抽象,如多个控制器都出现了相似代码,把他们抽取出来,封装成一个服务,遵循DRY原则,增强可维护性,剥离了和具体表现相关的部分,聚焦于业务逻辑或交互逻辑,更加容易被测试和复用. 2.工程实战中,使用服务的目的使为了优化结构,复用是一项结果,而不是目标. 3.代码中混杂表现层逻辑和业务逻辑的时候,就可以抽取服务,哪怕它不能复用. 4.测试驱动开发方式,服务有利于写测试用例. 5.服务是和依赖注入相关的,依赖注入要求服务都是单例,才能把它们到处注入,不用手动管理它们…