软件体系结构案例地研究SA_selection_and_case_study.ppt

软件体系结构案例地研究SA_selection_and_case_study.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件体系结构案例地研究SA_selection_and_case_study.ppt

求职应注意的礼仪 求职时最礼貌的修饰是淡妆 面试时最关键的神情是郑重 无论站还是坐,不能摇动和抖动 对话时目光不能游弋不定 要控制小动作 不要为掩饰紧张情绪而散淡 最优雅的礼仪修养是体现自然 以一种修养面对两种结果 必须首先学会面对的一种结果----被拒绝 仍然感谢这次机会,因为被拒绝是面试后的两种结果之一。 被拒绝是招聘单位对我们综合考虑的结果,因为我们最关心的是自己什么地方与用人要求不一致,而不仅仅是面试中的表现。 不要欺骗自己,说“我本来就不想去”等等。 认真考虑是否有必要再做努力。 必须学会欣然面对的一种结果----被接纳 以具体的形式感谢招聘单位的接纳,如邮件、短信 考虑怎样使自己的知识能力更适应工作需要 把走进工作岗位当作职业生涯的重要的第一步,认真思考如何为以后的发展开好头。 Thank you 体系结构风格的选择 Solution 2: Abstract Data Types Advantages: –某一构件的算法与数据结构的修改不会影响其他构件 –构件之间依赖性降低,提高了复用度 Disadvantages: –不适合功能的扩展 –为了增加新功能,要么修改已有的模块,要么就加入新的模块 软件体系结构及应用 Solution 3: 隐式调用 体系结构风格的选择 Solution 3:隐式调用 为了降低各模块之间的耦合度,提高复用性能,将模块之间的“直接调 用”改为“隐式调用”——事件驱动的体系结构风格。 采用与Solution 1相似的方式: – 四个功能模块 – 共享数据 不同之处: – 共享数据并不直接对外暴露数据格式,而是借鉴了Solution 2中的方式,对 数据进行封装,通过接口向外暴露对数据的操作; – 各功能模块之间不再通过主程序来控制,而是事件驱动。 体系结构风格的选择 Solution 3:隐式调用 体系结构风格的选择 回忆:事件系统的两种实现方式 Systems with separate dispatcher module Systems without a central dispatcher module 体系结构风格的选择 Solution 3:隐式调用 Two LineStorage modules –第一个LineStorage模块负责保存最初输入的lines –第二个LineStorage模块负责保存所有经过循环移位/排序后得到的 lines Input:负责从输入文件读取信息并保存在第一个LineStorage模块中 体系结构风格的选择 Solution 3:隐式调用 CircularShifter: 负责移位并将结果存储在第二个lineStorage模块中 Alphabetizer: 负责对移位结果进行排序 Output: 负责产生输出结果 Master control: 负责系统的全局控制) 体系结构风格的选择 事件分发策略 该案例中,使用观察者模式来处理事件 两个LineStorage模块被实现为“被观察者” – CircularShifter和Alphabetizer模块被实现为“观察者” –CircularShifter 是第一个 LineStorage 模块的观察者, 而 Alphabetizer 是第二个 LineStorage模块的观察者。 体系结构风格的选择 运行时事件相互作用 CircularShifter向第一个LineStorage模块注册,以表明兴趣 当有新行被加入到第一个LineStorage模块时,它将发出一个事件 CircularShifter模块接收到该事件 作为对该事件的响应,CircularShifter模块对新加入的行进行循环移位, 并将产生的结果写入第二个LineStorage模块中 体系结构风格的选择 运行时事件相互作用 Alphabetizer模块向第二个LineStorage模块注册,表明兴趣 当有新的循环移位行加入到第二个LineStorage模块时,它发出事件 Alphabetizer模块接收到该事件 作为对该事件的响应, Alphabetizer对这些循环移位行进行排序 体系结构风格的选择 Solution 3: Implicit Invocation Observerable Observer 体系结构风格的选择 Solution 3: Implicit Invocation 优点:功能扩展比较容易 –新模块可直接被加到系统中,只需将其注册到事件系统中即可 –数据通过接口访问,数据格式的变化不会影响其他部分 –各模块之间的调用隐式化,从而复用性提高 体系结构风格的选择 Solution 3: Implicit Invocation 难以控制各模块之间的处理次序 使用更多的存储空间 软件体系结构及应用

文档评论(0)

xx88606 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档