搜索
首页常见问题为什么学习软件架构

为什么学习软件架构

Dec 24, 2019 am 09:14 AM
计算机

为什么学习软件架构

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

数据库(database) :保存数据

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

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

优点

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

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

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

缺点

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

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

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

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

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

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
1 个月前By尊渡假赌尊渡假赌尊渡假赌

热工具

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器