今天我们开始更新Angular核心系列专题,这仅是我个人学习Angular以来进行的一些总结和个人经验分享,并不是一个适合初学者的教程, 建议初学者还是先去中文官网了解Angular。闲话少说,我们直接进入正题。

初识Module

Angular的Module作用是把ComponentPipeirective打包成内聚的功能块,封装和暴露相应的功能,从而达到模块间的解耦,高度自治的一种程序设计模式。 换句话说,Module对应的是业务和功能,Component对应的才是页面展示和交互。

我们使用@NgModule来标记一个类,使之成为Angular模块类。下面是里面的常用元数据的功能和注意事项:

怎么样设计模块

在构建项目初期,如果能有一个精通框架设计的大神来搭建整个项目,把整个框架搭的条理清晰,模块划分合理,想必这样的项目应该是大家都喜欢干的。那么,接下来干活来了,我们不必完全依赖大神,或者说我们也有机会成为大神,只需要尽量遵守一下几点,人人都是大神!

模块应各司其职。

这和我们天天说的”高内聚,低耦合“的设计规范很像,减少模块间的依赖程度,尽量使其独立,这样做不仅有利于程序的维护,而且思路清晰,开发起来也很高效。举个例子,根模块AppModule的职责是什么?项目的引导和初始化,至于其他的功能比如Http,I Don’t Care…

特性Module

带路由组件的特性Module,标准做法是自己去定义路由。既然孩子(子组件或者特性组件)都有行事能力了,做父亲的根Module就别瞎掺和了…

创建Core Module和Shared Module

Core Module: 应用启动时导入 Shared Module: 公共的ComponentDirectivePipe

推荐

推荐链接->Angular模块常见问题,建议所有Angular新手老手仔仔细细去阅读里面的内容,他会让你对Angular的模块有重新的认识,也能从中体会到Angular设计者的高明之处。

推荐链接->Angular-Module官方Guide,在这里你会看到一个小demo是如何变得越来越模块化的。

未完待续