Rumah  >  Artikel  >  为什么学习软件架构

为什么学习软件架构

(*-*)浩
(*-*)浩asal
2019-12-24 09:14:302545semak imbas

为什么学习软件架构

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

数据库(database) :保存数据

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

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

优点

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

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

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

缺点

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

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

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

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

Atas ialah kandungan terperinci 为什么学习软件架构. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn