欢迎大家加入我的社区:http://t.csdn.cn/Q52km
社区中不定时发红包

1、UML类图


2、源码

package com.zheng;

public class MainFrame {
private Memory memory=new Memory(); //关联关系建立联系
private Cpu cpu=new Cpu();
private HardDisk harddisk=new HardDisk();
private Os os=new Os(); public void fun() {
memory.display();
cpu.display();
harddisk.display();
os.display();
System.out.println("开机正常"); } } package com.zheng; public class Memory {
public void display() {
System.out.println("1、内存正常");
} } package com.zheng; public class Cpu {
public void display() {
System.out.println("2、cpu运行正常");
} } package com.zheng; public class HardDisk {
public void display() {
System.out.println("3、硬盘读取正常");
} } package com.zheng; public class Os {
public void display() {
System.out.println("4、操作系统载入正常");
} } package com.zheng; import java.util.Scanner; public class Client { public static void main(String[] args) {
// TODO 自动生成的方法存根
while (true) { MainFrame f = new MainFrame();
Scanner scan = new Scanner(System.in);
System.out.println("请输入ON进行开机:");
String str = scan.nextLine();
if (str.equals("ON")) {
f.fun();
} else {
System.out.println("输入的信息有误!!!请重新输入");
}
}
} }

3、优缺点

优点:1、实现了子系统和客户端之间的松耦合关系,这使得子系统的变化不会影响到调用它的客户端,只需要调整外观模式就可以。2、一个子系统的修改对其他子系统没有任何影响。3、对客户端屏蔽了子系统的组件,减少了客户端所需处理的对象数目。
缺点:1、如果设计不当、增加新的子系统可能需要修改外观类的源代码,违反了开闭原则。2、不能很好的限制客户端直接使用子系统类。


最新文章

  1. 数据结构图文解析之:哈夫曼树与哈夫曼编码详解及C++模板实现
  2. R 网页数据爬虫1
  3. C++ 析构方法
  4. IOS Note - Outlet(插座) & Action(动作)
  5. MOSS母板页制作 学习笔记(一)
  6. JAVA泛型-擦除
  7. java.lang.RuntimeException: Unable to start activity ComponentInfo
  8. CRtmpServer分析与应用
  9. java 单链表的实现
  10. 理解OC“属性”这一概念
  11. 再看Java基本类型
  12. 深入浅出解读 Java 虚拟机的差别测试技术
  13. 极速在mac中安装python开发环境
  14. mysql无法远程连接
  15. 深度学习attention 机制了解
  16. Zabbix监控数据库连通性所遇问题
  17. scala--函数式对象
  18. 番外篇 之 Win32Api
  19. (一)Tensorflow安装
  20. Mac安装Maven

热门文章

  1. Java连接数据库从入门到入土
  2. [算法1-排序](.NET源码学习)& LINQ & Lambda
  3. 议题征集令 | Apache DolphinScheduler Meetup 2021 来啦,议题征集正式开启!
  4. Magicodes.Pay已支持Volo Abp
  5. Excel 统计函数(一):SUMIF 和 SUMIFS
  6. 巧用 transition 实现短视频 APP 点赞动画
  7. hadoop 文件参数配置
  8. 声明式HTTP客户端-Feign 使用入门详解
  9. Maven 过滤问题
  10. Base64加密、解密