41 留意架构图里的空白区域
42 了解领域和技术里面的行话
43 关注具体情境
44 架构师应该考虑软件活动的所有参与者的能力,性格
45 优雅丰富的心灵远比聪明才智重要,向建筑架构师学习
46 避免重复
47 现实世界不止0和1
48 视图观察,别想着控制一切,观察-建模-验证
49 架构是一座桥梁,新情况,老经验,兼顾业务,规划未来
50 聚焦边界和接口
51 助力团队开发:工具,技能,决策
52 记录决策的理由
53 挑战假设。事实和假设是软件的基石
54 分享知识和经验。在基础知识之外建立概念
55 拒绝模式病和过度工程,减少复杂性
56 影喻需要探索和沟通
57 关注应用程序的支持和维护
58 架构需要权衡取舍
59 使用原则公理保证架构上的一致性。
60 尝试从最小可工作系统开始全部路径,不断演进
61 数据结构的视角看系统很重要
62 简单问题简单解决,不引入不必要的复杂性
63 架构师必须懂代码和写代码
64 可以根据投资回报率进行决策
65 一切软件系统都是遗留系统:清晰,可测试,正确,可跟踪
66 架构设计最起码有3-5个解决方案
67 理解变化的影响: 功能需求的变化,可扩展性,系统接口修改,团队人员流动
小规模增量,可重复运行单测,更好写测试,跟踪依赖
系统性行动,自动化重复任务