主要软件类型 适用 的几种典型的 架构模式

软 件 类 型  架 构 模 式  特 点 和 用 途
  系统软件  分层(Layer)  从不同的层次来观察系统,处理不同层次问题的对象被封装到不同的层中
管道和过滤器(Pipes and Filters)用数据流的观点来观察系统,整个系统由一些管道和过滤器组成,需要处理的数据通过管道传送给每一个过滤器,每个过滤器就是一个处理步骤。当数据通过了所有的过滤器后,就完成了所有的处理操作,得到最终的处理结果。UNIX操作系统的管道模型就建立在这样的架构之上;在UNIX下进行开发时,每个进程都是一个过滤器,我们可以通过管道把进程连接起来,让所有的过滤器在协作中完成整个任务。大多数程序设计语言的编译器也是基于这种架构模式实现的。
黑板(Blackboard)在这种架构中,在两种不同的构件;一种是表示当前的状态的中心数据结构;另一种是一组相互独立的构件,这些构件对中心数据进行操作。这种架构主要用于数据库和人工智能系统的开发。
分布式软件经纪人(Broker)在这种架构中,客户和服务器通过一个经纪人部件进行通信,经纪人负责协调客户和服务器之间的操作。并且为客户和服务器发送请求和结果信息。Broker就是经纪人模式的典型应用。
客户/服务器(Client/Server)系统分为客户和服务器,服务器一直处于侦听的状态,客户主主动连接服务器,每个服务器可以为多个客户服务。
点对点(Peer to Peer)系统中的结点都处于平等的地位,每个结点都可以连接其他结点。在这种架构中,一般需要由一个中心服务器完成发现和管理结点的操作。我们熟悉的ICQ程序以及WEB Service技术的大多数应用,都是典型的点对点结构。
交互软件模型-视图-控制器(Model-View-Controller)当应用程序的用户界面非常复杂,且关于用户界面的需求很容易变化时,我们可以把交互类型的软件抽象成抽模型,视图和控制器这三类组件单元,这种抽象可以很好地分离用户界面和业务逻辑,适应变化的需求。大多数现代交互软件都在一定程序上符合这一架构模型的特点。
显示-抽象-控制器(Presentation-Abstraction-Control)这是显示-抽象-控制器模式的另一种变形,这里就不再详细介绍了


设计的最终目地是最大限度的实现代码复用,如果不能达到复用代码的目地,就没有必要再提取出新类了,(属性就是,某个共性比较小的代码,所以没有必须把属性给提出来变成类。如果有多个类调用它,就可以提出新类)。

转载于:https://www.cnblogs.com/spiderdzl/p/4681721.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值