工程管理
会员登陆可自行发布信息
首页资讯供应求购招商招聘展会社区
长期信息合作请联系:QQ66821730
机电之家工程首页 ---->工程管理工程技术工程案例工程论文 工程招聘 ┊ 行业培训资料下载
应急预案
我 要 找
标题 内容 作者
工程管理技术资料订阅工程管理资料信息
电工技术资料 您的位置: 机电之家-->工程管理资料栏目首页-> 工程论文 -> 软件工程论文 --> 体系结构的历险--组件技术的结构和设计
阅读工程管理资料相关资料
体系结构的历险--组件技术的结构和设计
本文作者 未知 摘自 机电之家

[

图 3 — 对于向用户借出图书馆书籍的设计 #2

图 3 —对于向用户借出图书馆书籍的设计 #2

讨论

图 2 和图 3 说明了两种可能的完成借书给某一个用户这一需求所做的面向对象的设计。两种设计都具有三个相同的对象:LibrarySystem、LibraryUser(代表借书用户的对象)和 LibraryBookCopy (代表书籍本身的对象)。两种方案的差别在于责任在对象之间的分布方式和对象之间的合作本质。

** 在设计 #1,LibrarySystem 负责借书给用户。LibrarySystem 通过询问 LibraryUser 和 LibraryBookCopy,确信上面列出的条件都被满足了,然后 LibrarySystem 告诉 LibraryBookCopy 它目前正在被借阅,同时告诉 LibraryUser 它正在借这本书。 

** 在设计 #2,LibrarySystem 仅负责把借书给用户的责任委托给 LibraryBookCopy 对象 — LibraryBookCopy 有效地把自己借出。为了做到这一点,LibraryBookCopy 对象首先确定条件 3 是被满足的,接着告诉 LibraryUser 来借它。LibraryUser 对象负责确认条件 1 和条件 2 是被满足的,然后告诉自己正在借书。控制权返回给 LibraryBookCopy,LibraryBookCopy 告诉自己目前正在被借阅。 



两个设计在功能上都是相同的:它们都要检查所有三个条件是否被满足,然后确定 LibraryUser 知道它正在借阅 LibraryBookCopy,LibraryBookCopy 知道它正被 LibraryUser 借阅。它们的不同之处在于它们的结构。软件的体系结构处理的是系统的结构而不是其功能。

体系结构选择
如果两个设计在功能上相同,应该选择哪个? 这个表格总结了两个设计之间的差别

  设计 #1 设计 #2
功能定位 借书给用户的所有的规则和操作都在 LibrarySystem 中 LibraryBookCopy 负责把它自己借给用户, LibraryUser 负责借阅书籍
合作本质 LibrarySystem 向 LibraryUser 和 LibraryBookCopy 发起询问和发出指示 LibrarySystem 委托 LibraryBookCopy,让它和 LibraryUser 合作来借出它自身
设计原理 集中的责任,其他对象都是被动,模拟现实世界 分布式责任,需要时进行委托,所有的对象是主动的
规模 所要完成的代码行数少 10%  
性能   对象之间的交互少 30%
复杂性 在一个地方复杂 (LibrarySystem) 在责任的分布方面复杂
扩展性 相对新的服务简单,相对于新的项目复杂 相对新的项目简单,相对新的服务复杂

表中的开始三个条目描述了两个方法的不同的本质。功能定位和合作本质都是技术差别:它们说明了责任怎样在对象之间分布,以及对象之间为了应付整个责任是怎么进行通信的。设计理念就是推理风格,它引导作出技术的决定。这对于一致的体系结构起着很重要的作用,因为设计的决定并不是在真空中做出的(“我怎么考虑它?”“我怎么实现它?”)而是在一个有支持作用的上下文中(“体系结构把这样的事物描述成什么样?”和“类似这样的事物在这里是怎样实现的?”)做出的。这就是“体系结构视点”的概念。

最后的四个条目都是说明了两种设计在它们的非功能特性方面的差别。规模和性能是可以衡量的差别。因为两个系统做了相同的事情,所以复杂程度是一样的,但是它们在不同的方面表现其复杂性。考虑两种类型的变化:添加新的服务(就像允许用户在一个特定的日期预定项目)和添加新类可以被借出的事物(就像 CD 或录像带)。对于每个设计来说,实现这些变化是不同的。设计 #1 能更好的适应第一种变化,因为所有的对于预定的规则被加到了 LibrarySystem ,一个新的 Reservation 对象是简单和被动的。设计 #2 将有一个更复杂和主动的 Reservation 对象,在 LibraryUser 和 LibraryBookCopy 之间有更复杂的交互。对于第二种变化,设计 #2 比设计 #1 进行得更好,因为一个 CD 负责其自身的借出,所以任何差异或增加的需满足的条件(例如对用户的租借收费)被隐藏在 loanTo: 消息的后面 — 没有其他对象需要改变。在设计 #1 中实现这个变化需要一个新的 CD 对象和在 LibrarySystem 中添加新代码。

所以,在规模、性能和复杂本质方面的差异说明了设计风格的选择直接影响了系统的非功能特性。这是体系结构的选择。大多数人通常把“体系结构”和系统设计最上层的大规模功能块联系在一起,但是关于功能定位和通信本质的相同问题却必须在系统设计的各层被提出。体系结构是与结构和功能分布相关的,不是直接和功能有关的:在许多功能相同的设计中,选择出最符合用户需求的设计。

 

[本文共有 2 页,当前是第 2 页] <<上一页 下一页>>

]

Google
·工程项目经理培训
·欧姆龙PLC编程维护培训
·杭州西门子PLC应用培训
·模具加工设计培训
·变频器维修培训
·安全员认证培训
·电工培训


·招聘项目管理人员
·首席技术执行官
·自控工程师
·数控编程学徒
·总工程师


项目竞标

最新商业情报

代理
[代理] 寻求地区代理
[代理] 电工产品诚招代理..
采购
[采购] 电动车控制器外壳
[采购] 高品质缓冲器
 体系结构的历险--组件技术的结构和设计 相关资料
  • 企业信息化项目规划建设八策略
  • 小案例渗透出ERP项目规划中的“三忌”
  • IT项目规划就要围着企业商业策略转
  • 日常生活中的项目管理
  • 项目规划依赖性过程之间的相互联系
  • 项目规划和项目计划
  • 做ERP项目规划时的六大项禁忌
  • 项目规划管理
  • 永凝液屋面施工工艺
  • 永凝液地下室施工工艺
  • ⊕这地方投资政策最优
    ⊕上千份机电行业研究报告
    ⊕机电项目招商啦
    ⊕谁把我买了?
    ⊕机电行业展会大全
    ⊕十万企业抢登行业网址大全
    机电之家会议开通
    ⊕每日最新求购信息
    ⊕电工技术资料为了谁?
    ⊕机电设备维修与管理
    机电之家(中国)工程管理技术资料中心资讯版权声明:
    1、凡注明“机电之家采编”字样的所有作品均系本网原创,版权归机电之家所有,任何媒体摘编或享用本作品,需注明文章来源。违反声明者,本网将追究其相关法律责任。
    2、凡本网注明“来源:XXX网(非本网)”的作品,均转载自其他媒体,目的在于传达更多资讯,本网不承担相关法律责任。

    3、如在资讯、广告等方面想与本网合作,请致电:0571-87774297。Email:donemi@hz.cn

    首页
    首页
    合作网站:
    | 中国机电网机电之家安全生产网 | 机电论文 | 机电论坛 | 机电设备贸易 | 机电网址大全 | 浙江机电网 | 陕西机电网 | 单片机技术网 |
    电工园地 | 工程管理网 |环球会展网机电产品网 | 机电人才网 | 中国工控网 | 五金工具网 | 安全生产网 | 商业情报站 | 图纸资料下载 |
    友情连接:
    | 中国机电网 |中国工控网 | 行业培训网 | 中国工程机械网 | 机电一体化网 | 行业下载网 | PLC技术网 | 变频器技术网 |
    关于我们 | 联系我们 | 广告联系 | 付款方式 | 使用帮助 | 工程管理网 | 会员助手 | 友情链接
    电话:0571-87774297(杭州) 传真:0571-87774298(杭州)点击这里给我发消息66821730(技术) 点击这里给我发消息58733127(审核)
    机电之家 工程管理网所共享的
    工程管理,合同与档案管理,质量与成本管理,进度管理,风险管理,施工与现场管理,工程监理,
    项目管理知识,竣工验收管理,工程技术,工程施工方案,施工工艺流程,施工技术方法,工程施工设计,工程案例,
    成功工程案例,失败工程案例,工程论文,软件工程论文,工程项目管理论文,工程造价论文,工程材料论文工程,
    监理论文,工业工程论文,等都是来自会员发表或 网上收集发表。如果有任何侵犯您权益的地方,
    请联系我们,我们将马上进行处理。
    企业登陆可自行免费发布资料,本站代发布邮箱为88ctv@163.com
    Copyright 2007 diangong.jdzj.com Inc All Rights Reserved.工程管理网
    技术支持:杭州滨兴科技有限公司 mailto:88ctv@163.com
    免费发布信息主办:浙江-杭州-工程管理网网络运营部安全生产