设计模式等加以描述
应用程序架构着重考虑软件和代码组织
系统架构
可以看做是更大规模的应用程序架构
大多数软件系统是由横跨不同层次和技术的多个应用程序组成,每个部分都有自己的应用程序架构
要让整个软件系统工作起来...理解组织或业务的变化很重要,因为这能帮助你决定采用何种架构风格,可能是整体架构、微服务架构或者介于两种之间
架构对上设计
所有的架构都是设计,但是并非所有的设计都是架构
架构反应了一个 系统成型的重要设计决策...如何证明这种架构行之有效
小心鸿沟
如果是软件架构师:
包容与合作 让开发团队参与软件架构的过程,帮助他们了解大局,认同你的决策
动手 如何可能,参与日常开发工作提高对架构交付的理解, 或者通过其他方式了解底层进展...技术不是实现细节
你有复杂的非功能性要求吗
大多数软件系统可以用几乎任何技术构建,如果有复杂的非功能性要求,比如高性能和可伸缩性,事情会变得棘手,必须清楚技术、架构的选择是否管用。
你有约束吗?...对于构建软件可采用的技术和可选的技能(人),很多组织都有约束
可以采用各种手段挑战约束,但不能忽视,否则就会交付一个无法与组织已有的IT系统环境集成的软件系统的风险
你有一致性吗?