軟件设计与体系结构实验指导书2014.doc

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

实验一 经典软件体系结构风格(一) 1 实验目的 1 实验内容 1 1.管道-过滤器软件体系结构 1 2.数据抽象和面向对象软件体系结构 2 思考与提高 4 实验二 经典软件体系结构风格(二) 5 实验目的 5 实现内容 5 1.基于事件的隐式调用风格 5 2.层次软件体系结构 6 实验三 分布式软件体系结构风格 13 实验目的 13 实验内容 13 C/S体系结构风格 13 思考与提高 14 实验四 MVC风格 15 实验目的 15 实验内容 15 MVC的应用和编程实现 15 实验五 软件设计的目标 23 实验目的 23 实验内容 23 1.用Java语言实现一个计算器程序 23 2.健壮性 23 3.可维护性——基于面向对象技术的计算器程序 24 4.基于简单工厂模式的计算器程序 25 5.基于工厂方法模式的计算器程序 27 实验六 软件设计——面向对象方法 29 实验目的 29 实验内容 29 1.问题域部分的设计——对多重继承的调整 29 2.数据管理部分的设计 30 实验七 设计原则 35 实验目的 35 实验内容 35 1.里氏代换原则 35 2.合成/聚合复用原则 35 3.依赖倒转原则 36 4.迪米特法则 37 5.接口隔离原则 37 实验八 设计模式 38 实验目的 38 实验内容 38 1.单例模式 38 2.观察者模式 38 实验一 经典软件体系结构风格 (1)理解管道-过滤器软件体系结构、面向对象软件体系结构的原理 (2)掌握管道-过滤器软件体系结构、面向对象软件体系结构的实例 (3)管道-过滤器软件体系结构、面向对象软件体系结构的编程实现 实验内容 1.管道-过滤器软件体系结构 (1)在dos提示符下输入下面的命令: dir | more 使得当前目录列表在屏幕上逐屏显示。 dir的输出的是整个目录列表,它不出现在屏幕上而是由于符号“|”的规定,成为下一个命令more的输入,more命令则将其输入一屏一屏地显示,成为命令行的输出。 (2)Java I/O流中的管道流类PipedInputStream和PipedOutputStream可以方便地实现管道-过滤器体系结构,这两个类的实例对象要通过connect方法连接。 下面程序的功能是sender发送“Hello,receiver! I`m sender”给receiver,然后receiver接受后显示出来并且在前面加上“the following is from sender”的信息。管道流内部在实现时还有大量的对同步数据的处理,管道输出流和管道输入流执行时不能互相阻塞,所以一般要开启独立线程分别执行,顺便复习了多线程操作。 import java.io.*; import java.util.*; public class TestPiped{ public static void main(String [] args){ sender s = new sender(); receiver r = new receiver(); PipedOutputStream out = s.getOut(); PipedInputStream in = r.getIn(); try{ in.connect(out); s.start(); r.start(); }catch(Exception e){ e.printStackTrace(); } } } class sender extends Thread { PipedOutputStream out = new PipedOutputStream(); public PipedOutputStream getOut(){ return out; } public void run() { String str = "Hello,receiver ! I`m sender\n"; try { out.write(str.getBytes()); out.close(); } catch(Exception e) { e.printStackTrace(); } } } class receiver extends Thread { PipedInputS

文档评论(0)

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

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

1亿VIP精品文档

相关文档