外观模式实例

  • 问题描述
  • 结构图
  • 编程实现
    • 需要交互的类
    • Facade类
    • 客户端

问题描述

某软件公司为新开发的智能手机控制与管理软件提供一键备份功能,通过该功能可以将原本存储在手机中的通讯录、短信、照片、音乐等资料一次性拷贝到移动存储介质中(例如:SD卡)中。在实现过程中需要与多个已有的类进行交互,如通讯录管理类、短信管理类。

结构图

编程实现

需要交互的类

public class ContactsManager {private String contacts;public ContactsManager(String contacts) {this.contacts = contacts;}public void copy(){System.out.println(contacts);}
}
public class MessageManager {private String message;public MessageManager(String message) {this.message = message;}public void copy(){System.out.println(message);}
}
public class PhotoManager {private String photo;public PhotoManager(String photo) {this.photo = photo;}public void copy(){System.out.println(photo);}
}

Facade类

public class Facade {private ContactsManager contacts;private MessageManager message;private PhotoManager photo;public Facade() {this.contacts = new ContactsManager("通讯录");this.message = new MessageManager("短信");this.photo=new PhotoManager("照片");}public void backup(){contacts.copy();message.copy();photo.copy();}
}

客户端

public class Client {public static void main(String[] args) {Facade facade=new Facade();facade.backup();}
}

外观模式实例-智能手机一键备份相关推荐

  1. Python设计模式之外观模式实例讲解

    Python中设计模式之外观模式主张以分多模块进行代码管理而减少耦合,下面用实例来进行说明. 应用特性: 在很多复杂而小功能需要调用需求时,而且这些调用往往还有一定相关性,即一调用就是一系列的. 结构 ...

  2. java外观模式实例_Java设计模式(11)----------外观模式

    1.介绍 外观模式是一种结构型设计模式.在外观模式中,外观类中提供一个或者一组对外的接口.客户端对于复杂系统的访问是通过外观类的接口进行的,从而解除了客户端与复杂系统之间的耦合,隐藏了复杂系统内部的逻 ...

  3. C++设计模式详解之外观模式解析

    C++ 外观模式 外观模式定义 外观模式提供了一个统一的接口,用来访问子系统中的一群接口,外观定义了一个高层接口,让子系统更容易使用. 个人理解:外观模式,实际就是添加一层封装 比较简单 外观模式实例 ...

  4. 设计模式 外观模式 一键电影模式

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/25837275 这个模式比较简单,嘿嘿,简单写一下. 老样子,先看 外观模式(Fa ...

  5. 8. 设计模式 外观模式 一键电影模式

    这个模式比较简单,嘿嘿,简单写一下. 老样子,先看 外观模式(Facade Pattern)定义:提供一个统一的接口,用来访问子系统中的一群接口,外观定义了一个高层的接口,让子系统更容易使用.其实就是 ...

  6. 深入浅出外观模式(二):外观模式应用实例

    3. 外观模式应用实例 下面通过一个应用实例来进一步学习和理解外观模式. 1. 实例说明 某软件公司欲开发一个可应用于多个软件的文件加密模块,该模块可以对文件中的数据进行加密并将加密之后的数据存储在一 ...

  7. 模式实例之——外观实例

    场景:银行柜员机取钱或存钱 描述:从银行的柜员机取了100块钱 (一)子系统 /// <summary> /// 子系统抽象 /// </summary> public int ...

  8. Net设计模式实例之外观模式(Façade Pattern)(1)

    一.外观模式简介(Brief Intro<?XML:NAMESPACE PREFIX = ST2 />duction) 外观模式,为子系统的一组接口提供一个统一的界面,此模式定义了一个高层 ...

  9. Windows系统一键备份还原工具,支持UEFI和Legacy模式

          重新编辑于2019.05.24 重新编辑于2019.03.30 之前做过一篇Windows系统备份还原的文章,当时只晒出了源代码,bin文件只留给自己测试使用了,使用过程中发现效果还挺好, ...

最新文章

  1. 2021入坑图像分割,我该从哪儿入手?
  2. 微博:推动世界的力量(第2版)
  3. Nature封面:AI与人类斗嘴谁更强?IBM团队发布“AI辩论家”最新研究进展
  4. Alpha冲刺Day10
  5. 【luogu 3375】【模板】KMP字符串匹配
  6. redis 槽点重新分配 集群_5000+字硬核干货!Redis 分布式集群部署实战
  7. Linux命令如何显示光标
  8. Web-Scale Data
  9. 网络工程师成长日记370-阿尔斯通
  10. [react] ES6的语法‘...‘在React中有哪些应用?
  11. 简明Linux命令行笔记:finger
  12. Flutter进阶—质感设计之标签栏
  13. c语言中fflush_在C中使用fflush()
  14. Java I/O系统之转换流
  15. 在线音乐网站网站开发项目 ,第一篇
  16. 怎么解决Myeclipse导入项目中文乱码?
  17. 前端项目实战59-new URLSearchParams
  18. KUKA机器人 - 从开机到自动运行
  19. git push如何强制提交
  20. 字符串字符数组的赋值

热门文章

  1. r5 3500u和r5 3550h性能差多少
  2. 15个魔术方法的总结
  3. ajax足球怎么样,94~95,怀念经典Ajax!
  4. python 格式化时间含中文报错
  5. ABAP DAY_ATTRIBUTES_GET 计算工作日数
  6. 【RustDesk免费开源不限速远程控制软件自建服务】
  7. phpstudy php调试,phpStudy vscode 搭建debug调试的教程详解
  8. 训练局限玻尔斯曼机(Training Restricted Boltzmann Machines)
  9. python实现RC4加密算法
  10. Redis哨兵配置详解