[最主要的模式]10种常见的软件架构模式

 admin   2022-09-23 00:39   126 人阅读  0 条评论

Tips

书名译者:Vijini Mallawaarachchi

书名门牌号:10 Common Software Architectural Patterns in a nutshell

是不是Dharmapuri要结构设计数不清的民营企业体量控制系统?在主要就的软件设计已经开始以后,他们要优先选择两个最合适的数据库控制系统,它将为他们提供更多所需的机能和产品质量特性。因而,在将它应用领域到他们的结构设计以后,他们如果介绍相同的数据库控制系统。

依照维基中的表述:

构架商业模式是两个通用型的、可宠信的软件控制系统,用作在取值语句中的软件数据库控制系统中常有的难题。构架商业模式与软件设计商业模式类似于,但具备更广为的覆盖范围。

在责任编辑中,将Jaunpur说明下列10种常用的管理体系构架商业模式,和它的用语、优劣。

多层商业模式

应用领域程序-伺服器商业模式

characterization电子设备商业模式

管线-冷却控制系统商业模式

全权商业模式

点对点商业模式

事件总线商业模式

模型-视图-控制器商业模式

黑板商业模式

说明器商业模式

这种商业模式也称为多层管理体系构架商业模式。它可以用来构造可以分解为子任务组的程序,每个子任务都处于两个特定的抽象级别。每个层都为下两个提供更多更高层次服务。

一般信息控制系统中最常用的是如下所列的4层。

表示层(也称为UI层)

应用领域层(也称为服务层)

业务逻辑层(也称为领域层)

数据访问层(也称为持久化层)

使用场景:

一般的桌面应用领域程序

电子商务Web应用领域程序

这种商业模式由两部分组成:两个伺服器和多个应用领域程序。伺服器组件将为多个应用领域程序组件提供更多服务。应用领域程序从伺服器请求服务,伺服器为这些应用领域程序提供更多相关服务。此外,伺服器持续侦听客户机请求。

使用场景:

电子邮件,文件共享和银行等在线应用领域程序

这种商业模式由两方组成;主电子设备和从电子设备。主电子设备组件在相同的从电子设备组件中分配工作,并计算最终结果,这些结果是由从电子设备返回的结果。

使用场景:

在数据库复制中,主数据库被认为是权威的来源,并且要与之同步

在计算机控制系统中与总线连接的外围电子设备(主和从驱动器)

此商业模式可用作构造生成和处理数据流的控制系统。每个处理步骤都封装在两个冷却控制系统组件内。要处理的数据是通过管线传递的。这些管线可以用作缓冲或用作同步。

使用场景:

编译器。连续的冷却控制系统执行词法分析、解析、语义分析和代码生成

生物信息学的工作流

此商业模式用作构造具备解耦组件的分布式控制系统。这些组件可以通过远程服务调用彼此交互。全权组件负责组件之间的通信协调。

伺服器将其机能(服务和特征)发布给全权。应用领域程序从全权请求服务,然后全权将应用领域程序重定向到其注册中心的适当服务。

使用场景:

消息全权软件,如Apache ActiveMQ,Apache Kafka,RabbitMQ和JBoss Messaging

在这种商业模式中,单个组件被称为对等点。对等点可以作为应用领域程序,从其他对等点请求服务,作为伺服器,为其他对等点提供更多服务。对等点可以充当应用领域程序或伺服器或两者的角色,并且可以随时间动态地更改其角色。

使用场景:

像Gnutella和G2这样的文件共享网络

多媒体协议,如P2PTV和PDTP

像Spotify这样的专有多媒体应用领域程序

这种商业模式主要就是处理事件,包括4个主要就组件:事件源、事件监听器、通道和事件总线。消息源将消息发布到事件总线上的特定通道上。侦听器订阅特定的通道。侦听器会被通知消息,这些消息被发布到它以后订阅的两个通道上。

使用场景:

安卓开发

通知服务

这种商业模式,也称为MVC商业模式,把两个交互式应用领域程序划分为3个部分,

模型:包含核心机能和数据

视图:将信息显示给用户(可以表述多个视图)

控制器:处理用户输入的信息

这样做是为了将信息的内部表示与信息的呈现方式分离开来,并接受用户的请求。它分离了组件,并允许有效的代码宠信。

使用场景:

在主要就编程语言中互联网应用领域程序的管理体系构架

像Django和Rails这样的Web框架

这种商业模式对于没有确定软件控制系统策略的难题是有用的。黑板商业模式由3个主要就组成部分组成。

黑板——包含来自软件控制系统空间的对象的结构化全局内存

知识源——专门的模块和它自己的表示

控制组件——优先选择、配置和执行模块

所有的组件都可以访问黑板。组件可以生成添加到黑板上的新数据对象。组件在黑板上查找特定类型的数据,并通过与现有知识源的商业模式匹配来查找这些数据。

使用场景:

语音识别

车辆识别和跟踪

蛋白质结构识别

声纳信号的说明

这个商业模式用作结构设计两个说明用专用语言编写的程序的组件。它主要就指定如何评估程序的行数,即以特定的语言编写的句子或表达式。其基本思想是为每种语言的符号都有两个分类。

使用场景:

数据库查询语言,比如SQL

用作描述通信协议的语言

下面给出的表格总结了每种管理体系构架商业模式的优劣。

名称

优点

缺点

多层商业模式

两个较低的层可以被相同的层所使用。层使标准化更容易,因为他们可以清楚地表述级别。可以在层内进行更改,而不会影响其他层。

不是普遍适用的。在某些情况下,某些层可能会被跳过。

应用领域程序-伺服器商业模式

很好地建立一组服务,用户可以请求他们的服务。

请求通常在伺服器上的单独线程中处理。由于相同的应用领域程序具备相同的表示,进程间通信会导致额外开销。

characterization电子设备商业模式

准确性——将服务的执行委托给相同的从电子设备,具备相同的实现。

从电子设备是孤立的:没有共享的状态。主-从通信中的延迟可能是两个难题,例如在实时控制系统中。这种商业模式只能应用领域于可以分解的难题。

管线-冷却控制系统商业模式

展示并发处理。当输入和输出由流组成时,冷却控制系统在接收数据时已经开始计算。轻松添加冷却控制系统,控制系统可以轻松扩展。冷却控制系统可重复使用。 可以通过重新组合一组取值的冷却控制系统来构建相同的管线。

效率受到最慢的过滤过程的限制。从两个冷却控制系统移动到另两个冷却控制系统时的数据转换开销。

全权商业模式

允许动态更改、添加、删除和重新定位对象,这使开发人员的发布变得透明。

要求对服务描述进行标准化。

点对点商业模式

支持分散式计算。对任何取值节点的故障处理具备强大的健壮性。在资源和计算能力方面具备很高的可扩展性。

服务产品质量没有保证,因为节点是自愿合作的。安全是很难得到保证的。性能取决于节点的数量。

事件总线商业模式

新的发布者、订阅者和连接可以很容易地添加。对高度分布式的应用领域程序有效。

可伸缩性可能是两个难题,因为所有消息都是通过同一事件总线进行的。

模型-视图-控制器商业模式

可以轻松地拥有同两个模型的多个视图,这些视图可以在运行时连接和断开。

增加复杂性。可能导致许多不必要的用户操作更新。

黑板商业模式

很容易添加新的应用领域程序。扩展数据空间的结构很简单。

修改数据空间的结构非常困难,因为所有应用领域程序都受到了影响。可能需要同步和访问控制。

说明器商业模式

高度动态的行为是可行的。对终端用户编程性提供更多好处。提高灵活性,因为替换两个说明程序很容易。

由于说明语言通常比编译后的语言慢,因而性能可能是两个难题。

本文地址:http://51ac.top/post/28419.html
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

 发表评论


表情

还没有留言,还不快点抢沙发?