欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    设计模式讲解.ppt

    • 资源ID:80591950       资源大小:241KB        全文页数:16页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    设计模式讲解.ppt

    组合模式的应用组合模式的应用组合模式的应用组合模式的应用软件软件软件软件10-210-2班班班班吕朝阳吕朝阳吕朝阳吕朝阳1008320310083203从熟悉的事物中认识组合模式从熟悉的事物中认识组合模式1.java中的组合模式中的组合模式Java的容器类的容器类(container)实现了组合实现了组合模式。模式。从熟悉的事物中认识组合模式从熟悉的事物中认识组合模式2.数据结构中的组合模式数据结构中的组合模式树树树的节点可以分为分支节点和叶节点,树的节点可以分为分支节点和叶节点,是标准的部分整体结构。是标准的部分整体结构。组合模式的介绍组合模式的介绍组合模式是一种对象组合模式是一种对象结构型模式结构型模式,用以表示,用以表示“部部分分-整体整体”的层次结构。的层次结构。Composite模式的关键是一个抽象类,它既可以模式的关键是一个抽象类,它既可以代表图元,又可以代表图元的容器。代表图元,又可以代表图元的容器。对象通过实现(继承)统一的接口(抽象类),对象通过实现(继承)统一的接口(抽象类),调用者对单一对象和组合对象的调用者对单一对象和组合对象的操作具有一致性操作具有一致性。问题问题:使用这些类的代码必须去别对待图元对象:使用这些类的代码必须去别对待图元对象和容器对象和容器对象(GOF)组合模式的介绍组合模式的介绍注:注:Add():添加节点添加节点Remove():删除节点删除节点Getchild():从节点列表中获从节点列表中获取一个节点取一个节点角色:角色:抽象构建类(抽象构建类(Component)树叶构建角色(树叶构建角色(leaf)树枝构建角色(树枝构建角色(composite)组合模式的介绍组合模式的介绍组合模式的一种变体组合模式的一种变体组合模式的介绍组合模式的介绍对用户对用户:树叶构件和树枝构件的类似操作具有:树叶构件和树枝构件的类似操作具有同一接口,使用完全相同同一接口,使用完全相同对程序员对程序员:用一个统一的接口规范:用一个统一的接口规范leaf和和composite的方法,并为其提供不同的实现的方法,并为其提供不同的实现一个组合模式的实例一个组合模式的实例事例描述事例描述:我们平常我们平常使用的文件夹就是组合模式的最好例使用的文件夹就是组合模式的最好例子。文件系统是树形层次结构,并且文件和文子。文件系统是树形层次结构,并且文件和文件夹提供给用户的一些操作是相同的,如复制。件夹提供给用户的一些操作是相同的,如复制。但是,我们在复制文件夹的时候,操作系统实但是,我们在复制文件夹的时候,操作系统实现了对文件夹内的所有文件和文件夹的复制,现了对文件夹内的所有文件和文件夹的复制,而对于文件则不同。而对于文件则不同。我们希望我们希望,复制一个文件夹和复制一个文件是,复制一个文件夹和复制一个文件是一样简单的一样简单的一个组合模式的实例一个组合模式的实例分析分析:复制一个文件夹的顺序图clientFolderFilecopy()copy()i+loop i num一个组合模式的实例一个组合模式的实例代码代码:interface Node publicvoid copy();/定义统一的接口:复制定义统一的接口:复制 class Folder implements Node private String folderName;/文件夹名文件夹名 private ArrayList nodeList=new ArrayList();/用于存储文件夹下的文件夹或文件的一个列表用于存储文件夹下的文件夹或文件的一个列表一个组合模式的实例一个组合模式的实例 public void add(Node node)/增加文件或文件夹增加文件或文件夹 nodeList.add(node);num+;/列表下节点个数加列表下节点个数加1 publicvoid copy()/文件夹复制操作实现递归文件夹复制操作实现递归 System.out.println(“复制文件夹:复制文件夹:”+folderName);for(int i=0;inum;i+)/复制所有文件复制所有文件 Node node=(Node)nodeList.get(i);node.copy();一个组合模式的实例一个组合模式的实例class File implements Node /文件类文件类 private String fileName;/文件名文件名 public File(String fileName)this.fileName=fileName;public void copy()/复制文件复制文件 System.out.println(复制文件:复制文件:+fileName);一个组合模式的实例一个组合模式的实例publicclass Composite publicstaticvoid main(String args)Folder document=new Folder(我的资料我的资料);/我的资料文件夹我的资料文件夹 File book=new File(Java编程思想编程思想.pdf);/文档文件文档文件 Folder music=new Folder(我的音乐我的音乐);/我的音乐文件夹我的音乐文件夹 File music1=new File(你是我的眼你是我的眼.mp3);/音乐文件音乐文件1 File music2=new File(Without You.mp3);/音乐文件音乐文件2 一个组合模式的实例一个组合模式的实例/确定树形结构关系确定树形结构关系 document.add(book);document.add(music);music.add(music1);music.add(music2);document.copy();/复制复制“我的资料我的资料”文件夹,递归地复制了其下所文件夹,递归地复制了其下所 /有文件夹和文件。有文件夹和文件。应用场合应用场合从上例可以看出,组合模式主要在以下情况下从上例可以看出,组合模式主要在以下情况下使用:使用:1.对象有明显的(或你想要把对象表示对象有明显的(或你想要把对象表示成)部分成)部分-整体的层次结构整体的层次结构 2.你希望用户忽略组合对象与单个对象你希望用户忽略组合对象与单个对象的不同,使用同一接口操作的不同,使用同一接口操作组合模式与其他模式的关系组合模式与其他模式的关系

    注意事项

    本文(设计模式讲解.ppt)为本站会员(qwe****56)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开