14.1. 模块和服务的概念与关系


    总的来说,模块是组织业务的一个框框,在一个模块当中定义多个服务。当你引入了一个模块的时候,就可以使用这个模块提供的一种或多种服务了。



    比如 AngularJS 本身的一个默认模块叫做 ng ,它提供了 $http$q 等等服务。



    服务只是模块提供的多种机制中的一种,其它的还有命令( directive ),过滤器( filter ),及其它配置信息。



    然后在额外的 js 文件中有一个附加的模块叫做 ngResource , 它提供了一个 $resource 服务。



    定义时,我们可以在已有的模块中新定义一个服务,也可以先新定义一个模块,然后在新模块中定义新服务。



    使用时,模块是需要显式地的声明依赖(引入)关系的,而服务则可以让 ng 自动地做注入,然后直接使用。