设计模式——结构型——外观模式Facade

news/2024/11/15 0:10:52/

处理器类

public class Cpu {public void start() {System.out.println("处理器启动了...");}
}

内存类

public class Memory {public void start() {System.out.println("内存启动了...");}
}

硬盘类

public class Disk {public void start() {System.out.println("硬盘启动了...");}
}

电脑类

public class Computer {private Cpu cpu;private Memory memory;private Disk disk;public void start() {System.out.println("电脑启动中...");cpu.start();memory.start();disk.start();System.out.println("电脑启动完毕");}
}

演示类

public class Demo {public static void main(String[] args) {Computer computer = new Computer();computer.setCpu(new Cpu());computer.setMemory(new Memory());computer.setDisk(new Disk());computer.start();}
}

演示结果


http://www.ppmy.cn/news/1400340.html

相关文章

【Boost搜索引擎项目】项目思维导图+项目总结

Boost搜索引擎 1.项目思维导图2.项目总结3.项目地址 1.项目思维导图 2.项目总结 该项目是基于Boost库实现一个搜索引擎功能,部署在Linux服务器上。支持多用户同时并发的访问服务器。用户可以通过浏览器访问服务器IP地址端口号使用搜索引擎,通过搜索关键…

爬取b站音频和视频数据,未合成一个视频

一、首先找到含有音频和视频的url地址 打开一个视频,刷新后,找到这个包,里面有我们所需要的数据 访问这个数据包后,获取字符串数据,用正则提取,再转为json字符串方便提取。 二、获得标题和音频数据后&…

MySQL实现读写分离

1. mycat实现读写分离 MyCAT 是使用 JAVA 语言进行编写开发,使用前需要先安装 JAVA 运行环境(JRE),由于 MyCAT 中使用了 JDK7 中的一些特性,所以要求必须在 JDK7 以上的版本上运行。 官网下载jdk并解压文件 [rootmycat ~]# tar -xf jdk-8u181-linux-x…

【探索Linux】—— 强大的命令行工具 P.31(守护进程)

阅读导航 引言一、守护进程简介1. 概念2. 特点 二、用C创建守护进程⭕代码✅主要步骤 温馨提示 引言 当谈到计算机系统中运行的特殊进程时,守护进程(daemon)无疑是一个备受关注的话题。作为在后台默默运行并提供各种服务的进程,守…

Qt源码分析:QMetaObject实现原理

Qt基于QMetaObject实现了信号/槽机制、属性机制等多个功能特性,而QMetaObject实际上是实现了一种反射机制。 Ref. from Reflection in Java The term "RTTI" is a C-specific term referring to the functionality of the core language that allows the…

go中方法的Receiver (值类型指针类型)

在Go语言中,方法的接收者(Receiver)定义了该方法是与哪种类型的变量关联。方法的接收者可以是值类型也可以是指针类型,这决定了调用方法时是如何传递接收者的。 值类型与指针类型接收者 值类型接收者 当方法的接收者是值类型时&a…

如何应对复杂软件工程的开发流程?

应对复杂软件工程的开发流程通常需要一个结构化和系统化的方法。这种方法不仅包括采用合适的技术和工具,还涉及到项目管理、团队协作、需求分析、设计、实施、测试、部署和维护等多个方面。以下是一些关键步骤,以及如何将这些步骤应用于使用LabVIEW进行软…

SpringBoot 登录认证(二)

SpringBoot 登录认证(一)-CSDN博客 SpringBoot 登录认证(二)-CSDN博客 SpringBoot登录校验(三)-CSDN博客 HTTP是无状态协议 HTTP协议是无状态协议。什么又是无状态的协议? 所谓无状态&…