博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式--外观模式
阅读量:7076 次
发布时间:2019-06-28

本文共 1700 字,大约阅读时间需要 5 分钟。

hot3.png

外观模式(facade):

解决类与类之间的依赖关系,将它们的关系放在一个Facade类中,降低了类与类之间的耦合度,该模式中没有涉及到接口。

示例:

电脑用户(外观模式测试类)User.java

/** * 电脑用户(外观模式测试类) * * @author Kevin * @date 2016-3-15 */public class User {	public static void main(String[] args) {		Computer computer = new Computer();		/* 开启电脑 */		computer.startup();		/* 关闭电脑 */		computer.shutdown();	}}

电脑类Computer.java

/** * 电脑 * * @author Kevin * @date 2016-3-15 */public class Computer {	/* 电脑CPU */	private CPU cpu;	/* 电脑内存 */	private Memory memory;	/* 电脑硬盘 */	private Disk disk;	public Computer() {		cpu = new CPU();		memory = new Memory();		disk = new Disk();	}	/* 启动 */	public void startup() {		System.out.println("startup computer");		cpu.startup();		memory.startup();		disk.startup();		System.out.println("startup computer finished");	}	/* 关闭 */	public void shutdown() {		System.out.println("shutdown computer");		cpu.shutdown();		memory.shutdown();		disk.shutdown();		System.out.println("shutdown computer finished");	}}

电脑CPU类CPU.java

/** * 电脑CPU * * @author Kevin * @date 2016-3-15 */public class CPU {	/* 启动 */	public void startup() {		System.out.println("cpu startup");	}	/* 关闭 */	public void shutdown() {		System.out.println("cpu shutdown");	}}

电脑内存类Memory.java

/** * 电脑内存 * * @author Kevin * @date 2016-3-15 */public class Memory {	/* 启动 */	public void startup() {		System.out.println("Memory startup");	}	/* 关闭 */	public void shutdown() {		System.out.println("Memory shutdown");	}}

电脑硬盘类Disk.java

/** * 电脑硬盘 * * @author Kevin * @date 2016-3-15 */public class Disk {	/* 启动 */	public void startup() {		System.out.println("Disk startup");	}	/* 关闭 */	public void shutdown() {		System.out.println("Disk shutdown");	}}

转载于:https://my.oschina.net/zhaokaiju/blog/654915

你可能感兴趣的文章
华为S5300系列交换机V200R001SPH027升级补丁
查看>>
CISP-PTE注册信息安全专业人员渗透测试工程师知识体系大纲
查看>>
移动web开发中,好用的小方法
查看>>
Go 语言的垃圾回收演化历程:垃圾回收和运行时问题
查看>>
【Java资源免费分享,网盘自己拿】
查看>>
webpack配置(第四步:html篇(进阶篇))
查看>>
Spring Boot开启的2种方式
查看>>
阿里云服务提供商分享CDN访问异常该如何排查
查看>>
利用Sympy计算sin1°的最小多项式
查看>>
Vuejs响应式原理
查看>>
【Nebula系列】C++反射机制:可变参数模板实现C++反射
查看>>
奇异量子物理系统:它既在“绝对零度”之下,又在“绝对高温”之上
查看>>
mac 终端 常用命令
查看>>
2016年人工智能产业梳理:一朝引爆,稳步前进(下篇)
查看>>
django 1.8 官方文档翻译:5-1-2 表单API
查看>>
区块链将会怎样颠覆Google、Amazon、Facebook和Apple?
查看>>
VR直播很火,但能取代传统电视直播吗?
查看>>
[转]区块链代码快速学习实践
查看>>
QuickBI助你成为分析师——计算字段功能
查看>>
《王牌特工2》情景再现,Youbionic推出可穿戴式机械手
查看>>