卡内基梅隆大学软件研究所关于软件架构的定义[4]

卡内基梅隆大学软件研究所关于软件架构的定义[4],第1张

卡内基梅隆大学软件研究所关于软件架构的定义[4],第2张

为阐明其含义,下面将详述其中的两个;完整说明请参见 [BUS96]。模式以下列广泛使用的形式来表示:

  模式名
  环境
  问题
  影响,描述应考虑的不同问题方面
  解决方案
  基本原理
  结果环境
  示例
  模式名
  层

  环境
  需要进行结构分解的大系统。

  问题
  必须处理不同抽象层次的问题的系统。例如:硬件控制问题、常见服务问题和针对于不同领域的问题。不要编写垂直构件来处理所有抽象层次的问题。否则要在不同的构件中多次处理相同的问题(可能会不一致)。来源:www.examda.com

  影响
  系统的某些部分应当是可替换的
  构件中的变化不应波动
  相似的责任应归为一组
  构件大小 -- 复杂构件可能要进行分解
  解决办法
  将系统分成构件组,并使构件组形成层叠结构。使上层只使用下层(决不使用上层)提供的服务。尽量不使用非紧邻下层提供的服务(不跳层使用服务,除非中间层只添加通过构件)。

  示例:

       1. 通用层

    
  严格的分层构架规定设计元素(类、构件、包、子系统)只能使用下层提供的服务, 服务可以包括事件处理、错误处理、数据库访问等等。 相对于记录在底层的原始操作系统级调用,它包括更明显的机制。

       2. 业务系统层

  上图显示了另一个分层示例,其中有垂直特定应用层、水平层和基础设施层。注意:此处的目标是采用非常短的业务“烟囱”并实现各种应用程序间的通用性。 否则,就可能有多个人解决同一问题,从而导致潜在的分歧。

  有关该模式的深入讨论,请参见指南:分层。

  模式名
  黑板

  环境
  没有解决问题的确定方法(算法)或方法不可行的领域。例如 AI 系统、语音识别和监视系统。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 卡内基梅隆大学软件研究所关于软件架构的定义[4]

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情