1. If you want to become a qualified architect, you must know the concept of software architecture and understand the definition of architecture:
1. Software architecture is a sketch of a system.
2. The objects described by the software architecture are abstract components that directly constitute the system. (Recommended learning: phpstorm)
3. The connection between each component clearly and relatively detailedly describes the communication between the components.
4. In the implementation phase, these abstract components are refined into actual components, such as a specific class or object.
5. In the object-oriented field, the connection between components is usually implemented by interfaces.
2. Architects are subdivided and can basically be divided into three categories:
1. System architect: server load, reliability, scaling, expansion, Database segmentation, caching applications, etc.
2. Application architect: understand the business, sort out models, design patterns, interfaces, data interaction, etc.
3. Business architect: can also be called business domain Experts, industry experts, product consultants, senior consultants. Usually what we call architects is a combination of 1 and 2
Layered architecture is the most common software architecture, and it is also the de facto Standard architecture. If you don't know what architecture to use, use it.
This architecture divides the software into several horizontal layers. Each layer has clear roles and division of labor, and there is no need to know the details of other layers. The layers communicate through interfaces.
Although there is no clear agreement on how many layers the software must be divided into, the four-layer structure is the most common.
Presentation layer (presentation): User interface, responsible for visual and user interaction
Business layer (business): Implement business logic
Persistence layer (persistence): Provide data, SQL statements are placed on this layer
Database: Save data
Some software adds a service layer (service) between the logical layer and the persistence layer to provide different Some common interfaces required by business logic.
The user's request will be processed through these four layers in sequence, and no layer can be skipped.
Advantages
Simple structure, easy to understand and develop
Programmers with different skills can divide the work and be responsible for different layers, which is naturally suitable for most software The company's organizational structure
Each layer can be tested independently, and the interfaces of other layers are solved through simulation
Disadvantages
Once the environment changes, code is required When adjusting or adding functions, it is usually troublesome and time-consuming
Deployment is troublesome. Even if only a small place is modified, the entire software often needs to be redeployed, which is not easy to do continuous release
When software is upgraded, May require the entire service to be suspended
Poor scalability. When user requests increase in large numbers, each layer must be expanded in turn. Since each layer is internally coupled, expansion will be difficult
The above is the detailed content of Why learn software architecture. For more information, please follow other related articles on the PHP Chinese website!

把逻辑地址转换为内存物理地址的过程称作“重定位”。程序发出的逻辑地址并不是数据或指令的真实存放地,但可以对这个地址进行转换来获得真实存放地的物理地址,相当于重新定位一次。

根据计算机网络覆盖范围,可将计算机网络分为三类:1、局域网(LAN),是一种在小区域内使用的,由多台计算机组成的网络,覆盖范围通常局限在10千米范围之内;2、广域网(WAN),是一种远程网,涉及长距离的通信,覆盖范围可以是个国家或多个国家,甚至整个世界;3、城域网(MAN),其网络覆盖范围通常可以延伸到整个城市,借助通信光纤将多个局域网联通公用城市网络形成大型网络。

微机的字长是4个字节意味着:在CPU中整体传输和处理的二进制数为32位。因为一个字节是8位长(字长),所以4个字节就是32位了,也就是说cpu中能够同时处理32位的二进制数据。在计算机领域,字是用来表示一次性处理事务的固定长度;一个字的位数,即字长,是计算机一次可处理的二进制数字的数目。

微型计算机的性能主要取决于CPU(中央处理器)的性能。CPU是计算机系统的运算和控制核心,是对计算机的所有硬件资源(如存储器、输入输出单元) 进行控制调配、执行通用运算的核心硬件单元;中央处理器(CPU)的性能对计算机性能起决定性作用。

微型计算机的运算器控制器及内存储器的总称是“主机”。在微型计算机中,运算器、控制器、存储器三个部分是信息加工、处理的主要部件;运算器和控制器总称为CPU(中央处理单元),而CPU与内存储器又总称为主机,这是计算机系统中最核心的硬件部分。

计算机系统的内部总线主要可以分为5类:1、数据总线,在CPU与RAM之间来回传送需要处理或是需要储存的数据;2、地址总线,用来指定在RAM之中储存的数据的地址;3、控制总线,将微处理器控制单元的信号,传送到周边设备;4、扩展总线,是外部设备和计算机主机进行数据通信的总线,例如ISA总线,PCI总线;5、局部总线,取代更高速数据传输的扩展总线。

世界上第一台计算机的电子元器件是“电子真空管”。世界上第一台计算机是“阿塔纳索夫-贝瑞计算机”,通常简称ABC计算机,采用电子真空管作为电子元件;该计算机电路系统中装有300个电子真空管执行数字计算与逻辑运算,机器使用电容器来进行数值存储,数据输入采用打孔读卡方法,还采用了二进位制。

MODEM的功能为“实现模拟信号与数字信号之间的相互转换”。MODEM的中文名为“调制解调器”,它可以在发送端通过调制将数字信号转换成通信线路上传输的模拟信号,在接收端通过解调再将模拟信号转换为数字信号。

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Atom editor mac version download
The most popular open source editor

Dreamweaver Mac version
Visual web development tools

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function