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电子设备商业模式
准确性——将服务的执行委托给相同的从电子设备,具备相同的实现。
从电子设备是孤立的:没有共享的状态。主-从通信中的延迟可能是两个难题,例如在实时控制系统中。这种商业模式只能应用领域于可以分解的难题。
管线-冷却控制系统商业模式
展示并发处理。当输入和输出由流组成时,冷却控制系统在接收数据时已经开始计算。轻松添加冷却控制系统,控制系统可以轻松扩展。冷却控制系统可重复使用。 可以通过重新组合一组取值的冷却控制系统来构建相同的管线。
效率受到最慢的过滤过程的限制。从两个冷却控制系统移动到另两个冷却控制系统时的数据转换开销。
全权商业模式
允许动态更改、添加、删除和重新定位对象,这使开发人员的发布变得透明。
要求对服务描述进行标准化。
点对点商业模式
支持分散式计算。对任何取值节点的故障处理具备强大的健壮性。在资源和计算能力方面具备很高的可扩展性。
服务产品质量没有保证,因为节点是自愿合作的。安全是很难得到保证的。性能取决于节点的数量。
事件总线商业模式
新的发布者、订阅者和连接可以很容易地添加。对高度分布式的应用领域程序有效。
可伸缩性可能是两个难题,因为所有消息都是通过同一事件总线进行的。
模型-视图-控制器商业模式
可以轻松地拥有同两个模型的多个视图,这些视图可以在运行时连接和断开。
增加复杂性。可能导致许多不必要的用户操作更新。
黑板商业模式
很容易添加新的应用领域程序。扩展数据空间的结构很简单。
修改数据空间的结构非常困难,因为所有应用领域程序都受到了影响。可能需要同步和访问控制。
说明器商业模式
高度动态的行为是可行的。对终端用户编程性提供更多好处。提高灵活性,因为替换两个说明程序很容易。
由于说明语言通常比编译后的语言慢,因而性能可能是两个难题。
发表评论