外观模式的主要作用是降低系统之间的耦合性,包含3种角色:目标类、外观类、客户端类。
外观模式只可以将一些复杂的类包装成一个简单的封闭接口,外观模式对客户屏蔽了复杂的子系统组件,并为一般用户提供了一个比较简单的程序设计接口。
package facade;
/**
* @author lenovo
* @version 1.0
* @created 17-三月-2011 21:58:07
*/
public class Memory {
public Memory(){
}
public void finalize() throws Throwable {
}
public void shutdown(){
System.out.println("内存关闭");
}
public void startup(){
System.out.println("内存启动");
}
}
package facade;
/**
* @author lenovo
* @version 1.0
* @created 17-三月-2011 21:58:20
*/
public class Disk {
public Disk(){
}
public void finalize() throws Throwable {
}
public void shutdown(){
System.out.println("硬盘关闭");
}
public void startup(){
System.out.println("硬盘启动");
}
}
package facade;
/**
* @author lenovo
* @version 1.0
* @created 17-三月-2011 21:56:37
*/
public class Cpu {
public Cpu(){
}
public void finalize() throws Throwable {
}
public void shutdown(){
System.out.println("Cpu关闭");
}
public void startup(){
System.out.println("Cpu启动");
}
}
package facade;
/**
* @author lenovo
* @version 1.0
* @created 17-三月-2011 21:58:37
*/
public class Computer {
private Cpu cpu;
private Disk disk;
private Memory memory;
public Computer(){
cpu = new Cpu();
disk = new Disk();
memory = new Memory();
}
public void finalize() throws Throwable {
}
public void shutdown(){
System.out.println("计算机关闭");
cpu.shutdown();
memory.shutdown();
disk.shutdown();
}
public void startup(){
System.out.println("计算机启动开始");
cpu.startup();
memory.startup();
disk.startup();
}
}
package facade;
/**
* @author lenovo
* @version 1.0
* @created 17-三月-2011 21:58:45
*/
public class User {
public User(){
}
public void finalize() throws Throwable {
}
public static void main(String args[]){
Computer computer = new Computer();
computer.startup();
computer.shutdown();
}
}
例子中的Cpu类、Disk类、Memory类为目标类,Computer类为外观类,User类为客户类。
- 大小: 18.4 KB
分享到:
相关推荐
设计模式之外观模式 facade 采用JAVA实现,请结合文档看,欢迎讨论。。
本文实例讲述了PHP设计模式:外观模式Facade。分享给大家供大家参考,具体如下: 1. 概述 外观模式,我们通过外观的包装,使应用程序只能看到外观对象,而不会看到具体的细节对象,这样无疑会降低应用程序的复杂度...
外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。
NULL 博文链接:https://hnzhoujunmei.iteye.com/blog/1033285
主要介绍了详解PHP中的外观模式facade pattern的详细用法以及代码实例,对此有需求的朋友参考下吧。
主要介绍了C#设计模式编程中外观模式Facade Pattern的应用,外观模式中分为门面(Facade)和子系统(subsystem)两个角色来进行实现,需要的朋友可以参考下
外观模式 Facade 设计模式 还请各位大S指教。
为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
设计模式面面观(13):外观模式(Facade Pattern)-结构型模式 http://blog.csdn.net/fanweiwei/archive/2008/04/17/2299641.aspx
在这里与各位分享本人从网络上下载的C#面向对象设计模式纵横谈系列视频,共有25节,除了第一节需要各位贡献一点资源分以作为对本人上传资源的回馈,后面的其他资源均不需要... 这是第11节:结构型模式Facade外观模式
java 设计模式 Facade外观模式 Simple Factory 简单工厂模式,代码有点罗嗦,不过可移植性很强
外观模式是一种对象结构型模式,它为子系统中的一组接口提供一个统一的高层接口,使得子系统更加容易使用。以下是外观模式的一些关键点: 简化接口:外观模式通过提供一个统一的接口来简化外部与子系统的通信,这样...
C#面向对象设计模式纵横谈\C#面向对象设计模式纵横谈\10.Facade 外观模式(结构型模式).wmv )
C#面向对象设计模式纵横谈(11):Facade 外观模式(结构型模式)
主要为大家详细介绍了java设计模式之外观模式Facade的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
主要介绍了Java设计模式之外观模式(Facade模式)介绍,外观模式(Facade)的定义:为子系统中的一组接口提供一个一致的界面,需要的朋友可以参考下
C#面向对象设计模式纵横谈(11):Facade 外观模式(结构型模式) (Level 300)