您的位置 首页 技术

为什么学习软件架构

一、想成为一个合格的架构师,你要知道软件架构是个什么概念,明白架构的定义: 1.软件架构是一个系统的草图。 2.软件架构描述的对象是直接构成系统的抽象组件。 (推荐学习:phpst…

一、想成为一个合格的架构师,你要知道软件架构是个什么概念,明白架构的定义:

1.软件架构是一个系统的草图。

2.软件架构描述的对象是直接构成系统的抽象组件。 (推荐学习:phpstorm)

3.各个组件之间的连接则明确和相对细致地描述组件之间的通讯。

4.在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。

5.在面向对象领域中,组件之间的连接通常用接口来实现。

二、架构师有细分,基本上可以分为三类:

1. 系统架构师:服务器负载,可靠性,伸缩,扩展,数据库切分,缓存应用等

2. 应用架构师:理解业务,梳理模型,设计模式,接口,数据交互等

3. 业务架构师:也可以叫业务领域专家、行业专家、产品咨询师、资深顾问通常我们说的架构师是1和2的结合

分层架构(layered architecture)是最常见的软件架构,也是事实上的标准架构。如果你不知道要用什么架构,那就用它。

这种架构将软件分成若干个水平层,每一层都有清晰的角色和分工,不需要知道其他层的细节。层与层之间通过接口通信。

虽然没有明确约定,软件一定要分成多少层,但是四层的结构最常见。

表现层(presentation):用户界面,负责视觉和用户互动

业务层(business):实现业务逻辑

持久层(persistence):提供数据,SQL 语句就放在这一层

数据库(database) :保存数据

有的软件在逻辑层和持久层之间,加了一个服务层(service),提供不同业务逻辑需要的一些通用接口。

用户的请求将依次通过这四层的处理,不能跳过其中任何一层。

优点

结构简单,容易理解和开发

不同技能的程序员可以分工,负责不同的层,天然适合大多数软件公司的组织架构

每一层都可以独立测试,其他层的接口通过模拟解决

缺点

一旦环境变化,需要代码调整或增加功能时,通常比较麻烦和费时

部署比较麻烦,即使只修改一个小地方,往往需要整个软件重新部署,不容易做持续发布

软件升级时,可能需要整个服务暂停

扩展性差。用户请求大量增加时,必须依次扩展每一层,由于每一层内部是耦合的,扩展会很困难

以上就是为什么学习软件架构的详细内容,更多请关注24课堂在线网其它相关文章!

本文来自网络,不代表24小时课堂在线立场,转载请注明出处:https://www.24ketang.cn/24542.html

为您推荐

返回顶部