本篇内容介绍了“常见的软件架构模式有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
想知道如何设计大型企业级的系统吗?在开始主要的代码开发之前,我们必须选择一种合适的体系架构,它将为我们提供所需的功能和质量属性。因此,在将它们应用到我们的设计之前,应该先了解不同的体系结构。
根据维基百科,
架构模式是在给定上下文中解决软件架构中常见问题的通用、可重用的解决方案。架构模式类似于软件设计模式,但范围更广。
在本文中,我会简单介绍下列10种常见的架构模式,及其用途、优势和劣势。
该模式可用于构建可分解为子任务组的程序,其中每个都处于特定的抽象级别。每一次都向更高层提供服务。
一般信息系统中最常见的4层划分如下:
Presentation layer 表示层(也就是UI层)
Application layer 应用层(也就是服务层)
Business logic layer 业务逻辑层(也就是领域层)
Data access layer 数据访问层(也就是数据持久层)
应用
一般桌面应用程序
电子商务Web应用程序
此模式可用于构建产生和处理数据流的系统。每个处理步骤都包含在一个过滤器组件中,要处理的数据通过管道传递。这些管道可用于缓冲或者同步。
应用
编译器。依次使用不同的过滤器执行词法分析、解析、语法分析和代码生成
生物信息学中的工作流程
此模式是使用解耦的组件构建分布式系统,这些组件可以通过远程服务调用实现交互。代理组件负责协调组件之间的通信。
服务器将它们的功能(服务和特征等)发布到代理,客户端向代理请求服务,然后代理根据其注册表将客户端请求转发给合适的服务。
应用
消息代理软件,如 Apache ActiveMQ, Apache Kafka, RabbitMQ 和 JBoss Messaging.
该模式主要处理组件,有4个重要的组件:事件源、事件侦听器、通道和事件总线。事件源将消息发送到事件总线上的特定通道,侦听器会订阅特定的频道。当消息发送到频道中后,订阅该频道的侦听器会收到该消息的通知。
应用
安卓开发
通知服务
此模式对于尚无确定性解决方案的问题很有用,黑板模式由三部分组成:
黑板—— 一个结构化的全局内存,包含解决方案领域的对象
知识源——具有自身含义的专业模块
控制组件——选择、配置和执行模块
所有组件都可以访问黑板,组件可能会产生要添加到黑板中的新数据对象,组件在黑板上寻找特定类型的数据,并且可以通过与现有知识源进行模式匹配来找到这些数据。
应用
语音识别
车辆识别与跟踪
蛋白质结构鉴定
声呐信号解释
此模式通常用于设计组件来解释使用专用语言写出的程序,它主要指定如何估算程序行,即以特定语言编写的语句或表达式。基本思想是为每种语言符号都设计一个类。
应用
数据库查询语言,如SQL
用于描述通信协议的语言
“常见的软件架构模式有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。