一路走来,我们修炼了 Angular 的「道」(思想)、「法」(招式)、「术」(技巧)、「器」(工具)。掌握了这些,足以让你成为一名受人尊敬的江湖「高手」。
但你是否想过,高手与「宗师」的区别在哪里?区别,就在于是否懂得「审时度势」。高手执着于武艺本身,而宗师,着眼于天下大「势」。
今天,这最后一课,我将带你登上帅台,从将军的视角,俯瞰 Angular 的天下大「势」。这,是超越程序员,迈向架构师的终极一课。
结构之「势」:Monorepo 的「一统天下」#
当你的帝国不再只有一个城池,而是拥有了用户主应用、后台管理应用、移动端应用等多个「邦国」时,你是任其各自为政,还是选择「一统天下」?
Monorepo(单一代码库),就是 Angular 架构中的「合纵」之势。它不是简单粗暴地把代码扔进一个仓库,而是通过 Nx 或 Angular CLI Workspace 这样的「中央朝廷」,建立一个「书同文,车同轨」的开发王朝。

取此「势」,你将获得:
-
全局视野与绝对一致性:依赖版本天然统一,杜绝了「公说公有理,婆说婆有理」的混乱。
-
原子化提交:一个后端接口变更,需要前端三个应用同时修改?在 Monorepo 中,这只是一个提交,重构如丝般顺滑,安全无虞。
-
终极代码共享:这才是 Monorepo 的「王道」。你可以轻易地在库项目中建立各种「军工厂」(如 UI 库)、「情报处」(如数据访问库),供所有「城池」(应用)共享。
Monorepo 建立的是一种「高筑墙,广积粮」的战略优势。它让你的帝国能够抵御时间的侵蚀和人员的变动,这,就是「势」。
布局之「势」:「定都分封驿道」的新版图#
在独立组件的今天,旧的 Core/Shared/Feature 模块「三分天下」的版图已被重绘。新的帝国版图,更像中国古代成熟的行政体系:「定都、分封、建驿道」。
1. 应用项目 —— 帝国的「京师」#
应用项目是可独立运行的「京师」。它的职责是尽可能地「轻」,只负责启动帝国和组装来自「诸侯」(库)的核心功能。真正的全局配置与核心服务,都在 bootstrapApplication 时提供,这里是帝国的心脏。
2. 各个库项目 —— 各司其职的「诸侯」与「行省」#
库项目这片广袤的疆域,是对旧 SharedModule 和 FeatureModule 的彻底超越,实现了更精细的「分封」:
-
功能库 (Feature Libs):核心业务领域,如「订单管理」、「用户中心」,应被分封为独立的「诸侯国」。应用通过惰性加载其路由,来「传召」这位诸侯上殿。
-
UI 库 (UI Libs):取代了旧
SharedModule的「大杂烩」,这是一个纯粹的「兵工厂」,专门生产标准化的「兵器」(按钮、卡片等木偶组件)。 -
数据访问库 (Data-access Libs):帝国的「户部」与「吏部」,负责与外界(后端)沟通,为上层提供封装好的服务。
-
工具库 (Utility Libs):帝国的「翰林院」,存放纯函数、类型定义等通用知识。
3. 依赖注入 (DI) —— 贯通全国的「驿道」体系#
贯通帝国经脉的,不再是 NgModule 繁琐的 imports/exports,而是依赖注入(DI) 这套四通八达、直抵基层的「驿道」体系。它让「京师」的政令(服务)能无碍地传达到任何一个偏远的「村镇」(组件)。

治国之「势」:状态管理的「权衡之道」#
「状态」是帝国的「血脉」。如何管理它,决定了帝国的健康。在 Signals 融入的今天,我们的「治国方略」也更新了。你需要像一位帝王一样,懂得何时「无为而治」,何时「铁腕集权」。
-
层级0:
signal—— 个体的「心念」。组件内部的私有状态,用signal自行管理,这是最轻、最高效的「无为之治」。 -
层级1:
@Input/@Output—— 家族的「家训」。父子组件间,依然靠「家法」来传递信息。 -
层级2:共享服务 —— 郡县的「信使」。跨组件共享状态,派出一个由 DI 调度的「信使」(共享服务)即可,服务内部用
signal或BehaviorSubject携带情报。 -
层级3:全局状态库 (NgRx, Elf…) —— 「中央集权」。真正涉及帝国命脉的全局状态(如用户认证、购物车),必须动用 NgRx 这样的「国家机器」,用它的「仪式感」和严格纪律,来保证状态的绝对一致与安全。
结语:求之于势,不责于人#
《孙子兵法》的终极智慧之一在于:
故善战者,求之于势,不责于人。
(所以,善于作战的将帅,总是致力于创造和利用有利的『态势』,而不是去苛求每个士兵都智勇双全。)
一个卓越的 Angular 架构师,其价值正在于此。通过运筹 Monorepo 的「合纵」之势,规划应用项目与库项目的「分封」之势,利用 DI 的「贯通」之势,权衡状态管理的「张弛」之势……你搭建起一个让胜利成为必然的「骨架」。在这个骨架之上,团队成员才能轻松、安全地贡献力量,现代 Angular 的种种新特性才能最大限度地发挥其威力。
这,就是超越「术」的层面,从战略高度思考的架构之「势」。它着眼的不是一朝一夕的功能实现,而是整个软件帝国的长治久安。
至此,「道、法、术、器、势」五篇心法已尽数传授于你。未来的路,就要靠你自己去走了。毕竟,势在人为!
当你合上本书,眼中已无繁杂的代码,心中只余清晰的版图与天下大势。