第一章.架构与设计的流程和核心概念
编程的三要素
- 好的学习态度
- 良好的编程习惯
- 掌握一定的编程技巧
为什么要有架构或者架构的重要性?
一个良好的架构能够使系统具有更好的伸缩性和扩展性,能让软件开发进入一个良性循环。
架构
各行各业都有架构的概念,如建筑业,架构好比房屋的地基和骨架,其它的施工行为都在"架构"上进行操作。
软件开发行业对架构的定义:是对系统的高层视角,或者说是对系统抽象,通过对全局的关注,提供核心代码,对后续的编码或维护进行指导和约束。它是系统开发的蓝图。
架构师的职责
- 要有领导能力和决策能力
- 架构师要理解软件开发流程
- 要有牢固的技术支持和设计知识
- 需要理解业务领域的知识
- 各方协调沟通能力
架构重要性总结
- 架构设计解决系统中的质量问题
- 架构设计促进达成共识
- 架构设计支持计划流程的编制
- 架构设计促进架构的完整性
- 架构设计有助于管理复杂性
- 架构设计为重用提供基础
- 架构设计降低维护成本
- 架构设计支持影响分析
TDD:测试驱动开发,DDD:领域驱动开发,BDD:行为驱动开发
架构设计中的概念
Tier:系统的物理部署结构
Layer:系统逻辑结构