首页 > 常见问题 > 正文

为什么学习软件架构

(*-*)浩
发布: 2019-12-24 09:14:30
原创
2564 人浏览过

为什么学习软件架构

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

数据库(database) :保存数据

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

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

优点

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

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

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

缺点

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

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

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

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

以上是为什么学习软件架构的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板