一、软件架构的定义:
1、软件架构是一个系统的草图;
2、软件架构描述的对象是直接构成系统的抽象组件;
3、各个组件之间的连接则明确描述组件之间的通信;
4、在实现阶段,这些抽象组件被细化为实际组件(具体某个类或对象);
5、在面向对象中,组件之间的连接通常用接口实现。
二、架构师可细分为三类:
1、系统架构师:服务器负载,可靠性,伸缩,扩展,数据库切分,缓存应用等;
2、应用架构师:理解业务、梳理模型、设计模式、接口设计、数据交互等;
3、业务架构师:业务领域专家、行业专家、产品咨询师、资深顾问(以上两者结合)。
三、常见软件架构分类:
1、分层架构
2、事件驱动架构
3、微核架构
4、微服务架构
5、云架构