BG真人注册

  • <tr id='9xrnya'><strong id='9xrnya'></strong><small id='9xrnya'></small><button id='9xrnya'></button><li id='9xrnya'><noscript id='9xrnya'><big id='9xrnya'></big><dt id='9xrnya'></dt></noscript></li></tr><ol id='9xrnya'><option id='9xrnya'><table id='9xrnya'><blockquote id='9xrnya'><tbody id='9xrnya'></tbody></blockquote></table></option></ol><u id='9xrnya'></u><kbd id='9xrnya'><kbd id='9xrnya'></kbd></kbd>

    <code id='9xrnya'><strong id='9xrnya'></strong></code>

    <fieldset id='9xrnya'></fieldset>
          <span id='9xrnya'></span>

              <ins id='9xrnya'></ins>
              <acronym id='9xrnya'><em id='9xrnya'></em><td id='9xrnya'><div id='9xrnya'></div></td></acronym><address id='9xrnya'><big id='9xrnya'><big id='9xrnya'></big><legend id='9xrnya'></legend></big></address>

              <i id='9xrnya'><div id='9xrnya'><ins id='9xrnya'></ins></div></i>
              <i id='9xrnya'></i>
            1. <dl id='9xrnya'></dl>
              1. <blockquote id='9xrnya'><q id='9xrnya'><noscript id='9xrnya'></noscript><dt id='9xrnya'></dt></q></blockquote><noframes id='9xrnya'><i id='9xrnya'></i>
                  c
                  ase analysis
                  案例分析
                  联系我们
                  contact us
                  联系人:宋经理

                  座  机:028-86677012

                  邮  箱:[email protected]
                  地  址:成都市武侯区长华路19号万▲科汇智中心30楼
                  测评
                  您当前位╳置:首页 > 案例分析 > 案例解读 > 测评 >
                  十种常见▼的软件架构

                  Wikipedia 的解释:

                  在软件架构中,架构模式是对特定环境下常见问题的通用且可重用的解决方案。架构模式与软件设计模式很相似,但架构模式的层次更高,且外延更大。

                  本文将简述常见的10种架构模式的概念』、用法以及其优缺点。

                   

                   

                  1. 分层模式(Layered pattern)

                   

                  2. 客户端/服务器∩模式(Client-server pattern)

                  3. 主/从模式(Master-slave pattern)

                  4. 管道/过滤器模▓式(Pipe-filter pattern)

                  5. 代理模式(Broker pattern)

                  6. 对等模式(Peer-to-peer pattern)

                  7. 事件总线模式(Event-bus pattern)

                  8. 模型/视图/控制器(MVC)模式(Model-view-controller pattern)

                  9. 黑板模式(Blackboard pattern)

                  10.       解析器〗模式(Interpreter pattern)

                  1. 分层模式(Layered pattern)

                  分层模式用于对结构化设计的软件进行层次拆解,每个层次为独立的抽象,为其上层抽象提供服务。

                  系统通常被拆分为以下四个层次:

                  ·   表示层(也称为 UI 层)

                  ·   应用层(也称@为服务层)

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

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

                  使用场景

                  ·   通用桌面应用程序

                  ·   电子商务 Web 应用


                  2. 客户端/服务器模式(Client-server pattern)
                  客户端/服务器模式由两个部分构成:一个服务器与多个客户端。服务器组件同时◥为多个客户端组件提供服务。客户端向服务器☆发启服务请求,服务器将相应服务信息回应给客户端。此外,服务器◣持续监听来自客户端的请求。
                  使用场景
                  ·   电子邮件、文件共享及银行业务等在线应用

                  3. 主/从模式(Master-slave pattern)

                   

                   

                  主/从模№式由两个部分构成:主设备与从设备。主服务组件将作业分发给多个从设备组件,并根据这些从设备反馈的结果,计算生成***终结果。

                   

                  使用场景

                  ·   数据库复制,主数据库被认定为******数据源,各从数据库与●主数据保持同步

                   

                   

                  ·   在计算机系统中通过总线互连的各设备(包括主设备与从设备)

                   

                  4. 管道/过滤器模式(Pipe-filter pattern)

                  管道/过滤器模式用于构造用于生成及处理数据流的系统。每个处理过程都封装在过滤器(filter)组件之中,要处理的数据通过 管道(pips) 进行投递。管道同时用于作为 过滤器(filter 间的缓冲及同步。

                  使用场景

                  ·   编译器,一系列的过滤器用于词法分析、语法分析、语义分析及代码生成

                  ·   生物信息学的工作流

                  5. 代理模式(Broker pattern

                   

                   

                   

                  代理模式用于在结构化系统中对组件解耦。系统内各组件间采用远过程调用(remote service invocations)的方式交互。代理(Broker)组件充当组件间通讯的协调角色。

                   

                  提供服务的组件将其能力(服务以及№特性)发布给代理,客户端均向代理请求服务,由代理将请求重定向到先前已发布过对应服务的组件进行处理。

                  使用场景

                  ·  

                  消息中间件软件:Apache ActiveMQApache KafkaRabbitMQ JBoss 等等。

                  6. 对等模式(Peer-to-peer pattern)

                   

                  对等模式中的组件称之为对等体(peer),对等体既作为向其他对等体请求服务的客户端,同时也做为响应其他对等体请求的服务端。对等体可以在运行过程中动态地改变其角色,即,既可以单独做为客户端或服务端运行,又可同时作为客户端与服务端运行。

                  使用场景

                  ·   网络文件共享:Gnutella  G2)

                  ·   流媒体协议:P2PTV  PDTP.

                  ·  

                  流媒体应用:

                   Spotify.

                  7. 事件总线模式(Event-bus pattern

                   

                   

                   

                  事件总线模式应用于事件处理,主要由四个组件构成:事件源(event source),事件侦听者(event listener),通道(Channel)以及总线(event bus)。 事件【源将消息发布到总线的特定通道,侦听者订阅相应的通道,事件源所发布的消息经通道通告给订阅通道的侦听↓者。

                   

                   

                  使用场景

                   

                  ·   Android 开发

                  ·  

                  通告(Notification)服务

                  8. 模型/视图/控制器(MVC)模式(Model-view-controller pattern

                   

                   

                  模型/视图/控制器模式(简称 MVC 模式)将交互式应用程序拆分为三个部分:

                   

                  1. 模型(model – 包含核心【功能及数据

                  2. 视图(view – 呈现信息给用户(通过有多个视图)

                  3. 控制器(controller – 处理用户↑的输入操作

                  MVC 模式通过将内部信息表示、用户信息呈现以及用户操作接收分开的方式解耦组件,实现高效代码重用。

                  使用场景

                  ·   主流开发语言所构建的互联网网页应用架构

                  ·   Django 

                   Rails 等网页应用开发框架

                  9. 黑板模式(Blackboard pattern

                   

                  黑板模式适用于 无预知确定解决策略 的问题,主要由三个组件构成:

                   

                  ·   黑板(blackboard – 用于存储解※空间对象的结构化全局内存

                  ·   知识(knowledge)源 – 能自表意的专用模块

                  ·   控制(control)组件 – 选择、配置与执行的模块

                  所有的组件均能访问黑板,组件可将新生成的数据对象写入黑板,也可以通过模式匹配从黑板中获取知识源所生成的特定数据。

                  使用场景

                  ·   语音识别

                  ·   车辆识别和追○踪

                  ·   蛋白质的结构鉴定

                  ·   声纳信号解析

                  10. 解析器△模式(Interpreter pattern

                   

                   

                  测评中心供稿

                  引自伯乐在线/Alick

                   


                  ?