Our civilization runs on software.
The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them.
Architecture is a subjective thing, a shared understanding of a system’s design by the expert developers on a project. Commonly this shared understanding is in the form of the major components of the system and how they interact. It’s also about decisions, in that it’s the decisions that developers wish they could get right early on because they’re perceived as hard to change.
架构师实际上就是软件的总体设计师。首席设计师就是总设计师,打个通俗的比方:邓小平是中国改革开放的总设计师,我们用现在的说法可以讲,邓小平是中国改革开放的首席架构师。
在计算的算法和数据结构之外,设计并确定系统整体结构
Each stakeholder of a software system is concerned with different system characteristics that are affected by the architecture.
Software architecture
An architectural design codifies specific knowledge collected from experience in a domain and good designs are noted as patterns
A pattern is a solution to a problem in a context
Spring框架是Java平台的一个开源的全栈(Full-stack)应用程序框架和控制反转容器实现,一般被直接称为Spring。该框架的一些核心功能理论上可用于任何Java应用,但Spring还为基于Java企业版平台构建的Web应用提供了大量的拓展支持。Spring没有直接实现任何的编程模型,但它已经在Java社区中广为流行,基本上完全代替了企业级JavaBeans(EJB)模型。