前端架构设计开篇
最近在读《前端架构设计》,整书只有148页,薄薄的一本,但是看起来还是很有份量的。这本书展示了一名成熟的前端架构师对前端开发全面而深刻的理解。作者结合自己在Red Hat公司的项目实战经历,探讨了前端架构原则和前端架构的核心内容,包括工作流程、测试流程和文档记录,以及作为前端架构师所要承担的具体开发工作,包括HTML、JavaScript和CSS等。从豆瓣等评论来说,褒贬不一,但是个人感觉读一读还是很有必要的,取其精华去其糟粕即可。
- 前端架构设计
- 作者:[美] Micah Godbolt
- 评分:5.8 分
- 本书展示了一名成熟的前端架构师对前端开发全面而深刻的理解。作者结合自己在Red Hat公司的项目实战经历,探讨了前端架构原则和前端架构的核心内容,包括工作流程、测试流程和文档记录,以及作为前端架构师所要承担的具体开发工作,包括HTML、JavaScript和CSS等。
前端架构设计的方法论
系统的架构设计用来定义应用程序的基本特征和行为。
- 良好的架构是系统构建成功的关键。
- 架构驱动的软件开发是构建复杂系统的最有效方法,架构驱动的方法优于需求驱动,文档驱动和方法论(抽象推理的能力)驱动。虽然方法论(抽象推理的能力)可以帮助我们取得项目的成功,但是它并不是决定性的因素。
初期如何设计架构
所有架构的核心:关注点分离(分离角色和职能,分离之后的结果是对具体功能的高度抽象)。
架构设计的过程其实也是在梳理需求的过程中不断标识、封装和操纵关注点。
根据迪米特法则和开闭原则,分离之后的职责对象应该高度独立和封闭(优点是不需要关系它们内部的具体实现,只关心输入和输出即可)。
更容易构造有效的(职责)角色和强力的模型,变的更好开发,测试,管理和维护。
构建系统的步骤
- 抽象职责(功能模块)之间的相互作用
- 抽象职责和数据流之间的关系
注意的四个点
- 扩展性
- 弹性(伸缩性)
- 灵活性
- 稳定性
评判标准
- 灵活性:响应外部环境变化的能力,架构中是否便捷做一些改变,功能模块间的紧耦合是降低灵活性的关键。
- 易于部署
- 易于开发
- 可测试性:职责和数据流的划分,便于分块测试。
- 伸缩性:系统是否利于扩展,紧耦合与职责划分不清晰是降低伸缩性的关键。
- 性能:任何架构的本质是在处理数据流,所以数据流的流转效率决定了该架构的性能。
开篇只是一个单独的引子,接下来,我会一点一点的把《前端架构设计》这本书里面提到的来总结归纳分享出来。