网站程序结构-嵌入式软件工程师必须了解七种计算机软件程序架构的设计模式!

架构模式是针对给定上下文的软件架构中常见问题的通用、可重用的解决方案。

点击上方“嵌入式应用研究院”,选择“顶/明星公众号”

干货福利,尽快发货!

作者 | C语言编程学习基地

组织| 嵌入式应用研究所

模式是特定上下文中问题的解决方案。

然而,许多开发人员仍然对各种软件架构模式之间的差距感到困惑,甚至知之甚少。

总的来说,主要有以下七种架构模式:

① 分层结构

②多层结构

③管道-过滤器框架

④客户端-服务器架构

⑤模型-视图-控制器架构

⑥事件驱动架构

⑦微服务架构

1、分层架构模式

最常见的架构模式是分层架构或n层架构。

大多数软件架构师、设计师和开发人员都熟悉这种架构模式。 虽然层数和类型没有具体限制,但大多数分层架构主要由四层组成:表示层、业务层、持久层和数据库层,如下图所示:

1. 背景

所有复杂的系统都需要系统各部分独立开发和演化。 因此,系统开发人员需要清晰、连贯的关注点分离,以便系统的各个模块可以独立开发和维护。

2. 问题

网站程序结构-嵌入式软件工程师必须了解七种计算机软件程序架构的设计模式!

软件需要进行划分,使得每个模块都可以独立开发和派生,各个部分之间的交互很少,从而支持可移植性、可修改性和可重用性。

3. 程序

为了实现关注点分离,分层模式将软件划分为单独的单元(称为“层”)。 每一层都是一组模块,提供一组高度内聚的服务。 它的使用必须是双向的。 一层将一组软件视为一个完整的分区,每个分区公开一个公共套接字。

第一个概念是每一层都有特定的角色和职责。 例如,表示层负责所有用户界面处理。 分层架构中的这些关注点分离使得建立有效的角色和职责变得简单。

第二个概念是分层架构模式是技术分区架构而不是领域分区架构。 它们是由组件而不是字段组成的。

最后一个概念是分层架构中的每一层都被标记为封闭或开放。 封闭层意味着请求从一层移动到另一层,必须经过其正下方的层才能到达其下方的下一层。 请求不能跳过任何层。

4. 弱点

分层可能会导致性能下降。 这种模式不适合高性能应用,因为通过架构中的多层来实现业务请求效率不高。

分层降低了系统的前期成本和复杂性。

5. 目的

我们应该将这些方法应用于大型且简单的应用程序或网站。 对于预算紧张、工期紧张的场景来说,这是一个不错的选择。

二、多层模式

计划:

许多系统的执行结构被组织成一系列逻辑组件组。 每个分组称为一个层。

1. 背景

在分布式部署中,通常需要将系统的基础设施划分为不同的子集。

2. 问题

我们如何将系统划分为多个计算独立的执行结构:通过某种通信介质连接的软件和硬件组?

3. 弱点

大量的前期成本和复杂性。

4. 目的

用于分布式系统。

3. 管道-过滤器架构

软件架构中反复出现的模式是管道过滤器模式。

1. 背景

许多系统需要将离散数据流从输入转换为输出。 许多类型转换在实践中是重复的网站程序结构,因此将它们创建为独立的可重用部分是理想的。

2. 问题

这些系统需要划分为可重用的松散耦合组件,组件之间具有简单且通用的交互机制。 这样它们就可以灵活地相互组合。 这些常见的松散耦合组件很容易重用。 这些独立的组件可以并行执行。

3. 程序

该架构中的管道形成过滤器之间的通信通道。 第一个概念是,出于性能原因,每个管道都是无向且点对点的,接受来自一个源的输入并通常直接输出到另一个源。

在这些模式下,有如下四种过滤器。

生产者(源):流程的起点。

转换器(映射):转换部分或全部数据。

测试器(减少):测试一个或多个条件。

消费者(接收器):终点。

4. 弱点

由于其切换性质,不太适合交互式系统。

网站程序结构-嵌入式软件工程师必须了解七种计算机软件程序架构的设计模式!

过多的解析和反解析可能会导致性能损失,并降低构建过滤器本身的复杂性。

5. 目的

管道过滤器框架用于各种应用程序,特别是简化单一处理的任务,例如EDI、ETL工具。

编译器:连续的过滤器执行词法分析、句法分析、语义分析和代码生成。

4. 客户端过滤器架构

1. 背景

有大量的分布式客户端希望访问许多共享资源和服务,并且我们希望控制访问或服务质量。

2. 问题

通过管理一组共享资源和服务,我们可以通过分解公共服务并在单个地方或少数地方进行更改来提高可修改性和可重用性。 我们希望通过集中控制此类资源和服务网站程序结构,同时将资源本身分布在多个数学服务器上来提高可扩展性和可用性。

3. 程序

在客户端-服务器模型中,组件和连接具有特定的行为。

称为“客户端”的组件向称为“服务器”的组件发送请求并等待回复。

服务器组件接收来自客户端的请求并向它们发送回复。

4. 弱点

服务器成为性能难题和单点故障。

构建系统后,有关功能驻留在何处(客户端或服务器)的决策通常很复杂且更改成本高昂。

5. 目的

对于许多组件(客户端)向提供服务的其他组件(服务器)发送请求的系统,我们可以使用客户端-服务器模式对系统的一部分进行建模:在线应用程序,例如电子邮件、共享文档或 CCB 服务。

5. 模型-视图-控制器架构(MVC)

1. 背景

用户界面通常是交互式应用程序中更改最频繁的部分。 用户通常希望从不同的角度查看数据,例如条形图或饼图。 这些表示应该反映数据的当前状态。

2. 问题

用户界面功能如何独立于应用程序功能,同时仍然响应用户输入或对底层应用程序数据的修改?

当底层应用程序数据修改时,如何创建、维护和协调用户界面的多个视图?

3. 程序

模型-视图-控制器 (MVC) 模式将应用程序功能划分为三种类型的组件:

一个模型,包含应用程序的数据。

View,显示部分底层数据并与用户交互。

控制器,在模型和视图之间进行中介并管理状态修改的通知。

4. 弱点

对于简单的用户界面来说,复杂性是不值得的。

模型、视图和控制器表示可能不适合单独的 UI 工具包。

5. 目的

MVC 是一种通常用于开发网站或移动应用程序用户界面的架构模式。

6. 事件驱动架构

1. 背景

需要提供估计和信息资源来处理传入的应用程序生成的独立异步风暴,这是一种可以随着需求减少而扩展的方法。

网站程序结构-嵌入式软件工程师必须了解七种计算机软件程序架构的设计模式!

2. 问题

构建一个分布式系统,可以提供异步到达的风暴相关信息,并且可以从简单的大型扩展到复杂的小型。

3. 程序

部署单独的 Storm 进程或处理器用于 Storm 处理。 暴风雨到来进入了队列。 调度器从队列中取出风暴,并根据调度策略将它们分配给适当的风暴处理器。

4. 弱点

性能和错误恢复可能是问题。

5. 目的

使用此方案的电子商务应用程序将按如下方式工作:

订单服务创建一个订单,该订单处于待处理状态,然后发布一个 OrderCreated 事件。

客户服务收到此事件并尝试扣除此订单的积分。 然后发布 Credit Reserve 事件或 CreditLimitExceeded(超出信用限额)事件。

订单服务接收来自客户服务的消息并将订单状态修改为“已批准”或“已取消”。

7. 微服务架构

1. 背景

部署基于服务器的企业应用程序,支持各种浏览器和本机联通客户端。 应用程序通过执行业务逻辑、访问数据库、与其他系统交换信息以及返回响应来处理客户端请求。 此应用程序可能会公开第三方 API。

2. 问题

单体应用程序显得太大且复杂,无法有效支持和部署以优化分布式资源的利用,例如在云环境中。

3. 程序

将应用程序构建为服务套件。 每个服务都可以独立部署和扩展,并具有自己的 API 边界。 不同的服务可以用不同的编程语言编写,管理自己的数据库,并由不同的团队开发。

4. 弱点

系统设计必须能够容忍服务故障,这就需要更多的系统监控。 服务编排和事件协作成本高昂。

总结:第五章网站安装与配置 5.1 网站建设步骤不好,虽然采用了最先进的技术,但还不是一个成功的网站。 网站建设步骤通常分为以下六个步骤 网站建设是一个系统工程。 从网站规划到系统实施网站程序安装,每一步都非常重要。 如果没有网络运营,第一步就是网站规划,如第四章所述。第二步是申请域名。 您可以申请国际域名或注册外国域名。 第三步,构建网带环境。 目前有虚拟主机、服务器托管、专线接入三种选择。 第四步

第五章 网站安装与配置

5.1 网站建设步骤

不,尽管拥有最先进的技术,但这并不是一个成功的网站。 网站建设步骤通常分为以下六个步骤 网站建设是一个系统工程。从网站规划到系统实施,每一步都非常重要。

第一步是网站规划,如第 4 章所述。

第二步是申请域名,可以申请国际域名或者国外域名注册

第三步,构建网带环境。 目前有三种解决方案:虚拟主机、服务器托管和专线接入。

第四步,操作系统和硬件设备的样本选择和成本分析(包括网站设计、制作、开发

维修费用)。

第五步是网站软硬件系统的设计、安装和实现。

第六步,网站系统的测试、运行和安全维护

网站程序结构-嵌入式软件工程师必须了解七种计算机软件程序架构的设计模式!

5.2 网站的安装和设置

建立网站就是在服务器系统平台上配置各种服务,如WWW、FP等,以及可用的服务器

系统软件包括WindowsNI、UNIX/Linux等,但目前以WindowsNT居多。本书主要介绍中组

WindowsNT系统环境下搭建网站的方式和方法。

5.2.1 网站安装步骤

(1)安装Windows NT Server 4.0

(2)设置Windows NT Server并将NT Server连接到Internet

(3)按顺序安装必要的附件:

①安装WindowsNT4.0OptionPack CD中的SP3(WindowsNTServicePack3);

②在WindowsNT4.0OptionPack光盘中安装IE4.0l(InternetExplorer4.01)

网站程序结构-嵌入式软件工程师必须了解七种计算机软件程序架构的设计模式!

(4)在WindowsNT4.0OptionPack CD中安装IS4.0(InternetInformationServer40)

(5)测试IS4.0。

5.2.2 Windows NT Server 4.0 的安装

1、安装前规划

如果您的服务器已安装并配置WindowsNT4.0,请跳过本节

有 WindowsNT 的硬件驱动程序。 为了顺利安装WindowsNT40,安装前必须验证并检查所有硬件是否安装完毕。

在安装Windows NT4.0之前,应首先删除其他厂家的网络操作系统。

公司的Netware需要删除,否则每周安装和升级会很困难。

然后选择是从旧版本的 Windows NT 升级,还是全新安装

网站程序结构-嵌入式软件工程师必须了解七种计算机软件程序架构的设计模式!

1)WindowsNT351及以下版本升级

对于NTS1以下的WindowsNT版本,必须先安装WindowsNT3s,然后再安装WindowsNT40WindowsNI40无法从旧版本的NDR文件系统启动。 因此,如果您打算保存 Window

(2)在Windows NT4.0以上安装或升级

WindowsNT安装,使用“Winnt.exe”或“Winn2exe”安装命令

Winnt.exe”可以在DOS和Windows9598环境下执行

Winn32.exe”可以在WindowsNT32位操作系统环境下执行。

2. 基本系统安装

安装Windows NT Server 4.0是一项简单的工作,只需按照安装向导的提示一步步进行即可

可以做,但要注意以下问题

(1)安装方式选择:安装WindowsNT。 可以通过软驱、CD-RON(光盘)或网络来完成

网站程序结构-嵌入式软件工程师必须了解七种计算机软件程序架构的设计模式!

安装WindowsNT。

①软盘安装:使用软驱是最慢的方式。只有在硬件条件非常有限的情况下(既没有光盘也没有光盘)

只有在没有网络的情况下)才可以使用软驱进行安装。

②光盘安装:安装少量电脑时,可以使用光盘安装.eg web服务器

安装

使用网络安装方法 ③网络安装:通过网络安装是最快的方式。当安装到大量计算机时,

(2)系统分区及其文件系统类型:FAT、NTFS。 应选择NTFS

(3) 许可模式:“每服务器”和“每客户”许可模式。 “每服务器”许可模式许可“每

“服务器”上同时登录的客户端机器数量:“每客户”许可模式的访问许可证是针对客户端机器的,访问许可证

可以访问服务器的客户端计算机数量没有限制,但每台客户端计算机都必须有客户端访问许可证。应优先选择“每个服务”

服务器”许可模式,因为它还提供一次性免费切换到“每客户”许可模式。

(4)服务器类型:独立服务器、主域控制器、备份域控制器。选择主域控制器

(5)紧急修复盘:当Windows NT因某种原因损坏时,紧急修复盘(ERD)是一个非常有用的工具。

重要的必需组件。它存储现有系统的整个配置网站程序安装,必要时可用于恢复系统

(6) 网络合同:选择TCP/IP。

(7)所需服务:如DNSSERVER、ISSERVER等,清除这些项后即可启动。 在MS-DOS环境下,进入WindowsNTServer光盘

4.0英文版的安装主目录为1B86,输入Winn/B回车,出现MS-DOS字符形式的安装界面

表面上确认安装文件的路径后按回车,文件就会从安装光盘传输到硬盘的临时安装目录,并且会显示传输完成率和温度计式的传输进度图标显示。 文件加载后,屏幕提示基于MS-DOS

部分安装已经完成,并告知重新启动计算机继续安装过程,按回车键返回命令

提示状态,然后重新启动计算机,重新启动后NT显示器屏幕。此后安装程序

出现欢迎界面,按照安装向导即可进行网站设计

安装完成后,重新启动

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 网站程序 网站程序结构-嵌入式软件工程师必须了解七种计算机软件程序架构的设计模式! https://www.wkzy.net/game/127359.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务