`
jaesonchen
  • 浏览: 311440 次
  • 来自: ...
社区版块
存档分类
最新评论

Facade模式

 
阅读更多
public class Facade {
	
	public static void main(String[] args) {
		
		Computer com = new Computer();
		com.startup();
		com.shutdown();
	}
}
class Computer {
	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("start the computer!");
		cpu.startup();
		memory.startup();
		disk.startup();
		System.out.println("start computer finished!");
	}

	public void shutdown(){
		System.out.println("begin to close the computer!");
		disk.shutdown();
		memory.shutdown();
		cpu.shutdown();
		System.out.println("computer closed!");
	}
}
class CPU {
	public void startup(){
		System.out.println("cpu startup!");
	}
	public void shutdown(){
	System.out.println("cpu shutdown!");
	}
}
class Memory {
	public void startup(){
		System.out.println("memory startup!");
	}

	public void shutdown(){
		System.out.println("memory shutdown!");
	}
}
class Disk {
	public void startup(){
		System.out.println("disk startup!");
	}
	public void shutdown(){
		System.out.println("disk shutdown!");
	}
}

 输出为:

start the computer!
cpu startup!
memory startup!
disk startup!
start computer finished!
begin to close the computer!
disk shutdown!
memory shutdown!
cpu shutdown!
computer closed!

 

 

 * 为一个复杂子系统提供一个简单接口时,由于子系统往往因为不断演化而变得越来越复杂,但这种变化

   不应该影响到客户的调用,此时使用 Facade 模式对外提供一个访问的接口。


 * Facade模式注重简化接口,Adapter模式注重转换接口,Bridge模式注重分离接口(抽象)与其实现,

    Decorator模式注重稳定接口的前提下为对象扩展功能。

分享到:
评论

相关推荐

    设计模式1,FACADE模式,Adapter

    本文将深入探讨FACADE模式、Adapter模式以及Singleton和Proxy模式的基本概念、应用场景和关键要素。 首先,FACADE(外观)模式是一种接口型模式,它的主要作用是为复杂的子系统提供一个简单的接口,使得客户端无需...

    C++ Facade模式

    **C++ Facade模式** Facade模式,又称为外观模式,是设计模式中的一种结构型模式。在软件工程中,它为子系统提供了一个统一的入口,简化了客户端对复杂子系统的访问,使得客户端无需了解子系统内部的具体实现细节。...

    java实现的简单的应用facade模式范例

    **Java实现的简单应用:Facade模式范例** Facade模式,也称为门面模式,是一种结构型设计模式,它提供了一个统一的接口,用于与复杂的子系统进行交互。这个模式简化了客户端与子系统之间的交互,使得客户端只需要...

    设计模式之门面模式(Facade模式)

    设计模式之门面模式(Facade模式),介绍门面模式,实际例子分析,代码讲解等

    使用反射技术和Facade模式演示封装数据库操作--ORM原理

    于是,使用Facade模式和反射技术模拟Hibernate框架技术演示怎样书封装数据库的操作。 环境:Windows XP Professional, JDK 1.6, Eclipse 3.3 Europa, SQL Server 2000 使用步骤: 1. 下载解压之后,使用Eclipse导入...

    FACADE模式

    **外观(Facade)模式**是一种结构型设计模式,它的主要目的是提供一个统一的接口,用于客户端访问复杂的子系统。在大型软件系统中,通常由多个模块或子系统组成,每个子系统都有自己的功能,而客户端可能需要与这些...

    Facade模式练习

    在`Facade模式练习`中,我们通常会创建一个高层接口,这个接口封装了一系列复杂的操作。这样做可以使客户端代码更加简洁,避免直接与复杂的子系统交互。`Facade`类通常会包含多个对子系统对象的引用,通过调用这些...

    Java设计模式之外观模式(Facade模式)介绍

    外观模式(Facade模式)是一种设计模式,主要用于简化子系统或组件之间的交互,为复杂的系统提供一个简单的接口。在Java中,这种模式可以帮助我们管理和组织大量的类和接口,使其对外呈现简洁的交互方式。 外观模式...

    facade模式

    外观模式属于结构型模式,其意图是为子系统中的一组接口提供一个一致的界面,Façade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。在项目设计中,把一个系统划分成为若干个子系统由利于降低系统的...

    Facade模式_Java源代码

    实验内容: 1) 家庭影院中有CD机,DVD机,收音机Turner,录影机Recorder,功放Amplifier,升降屏幕Screen等,请为家庭影院系统设计一个请设计一个门面,通过它可以方便的操作其他设备放电影等。...

    迪米特法则---门面Facade模式.docx

    门面(Facade)模式是一种设计模式,遵循迪米特法则,旨在简化子系统的使用,减少客户端与子系统之间的复杂依赖关系。迪米特法则主张一个对象应该尽量减少与其他对象的交互,只与直接的朋友交流,以此提高系统的内聚...

    Ajax中使用Facade外观模式的Eclipse版本的Demo

    **Ajax与Facade模式** 在Web开发中,Ajax(Asynchronous JavaScript and XML)技术允许我们创建交互性更强、响应更快的网页。它通过在后台与服务器进行少量数据交换,实现了页面的部分更新,而无需刷新整个页面。...

    java 设计模式 Facade外观模式 Simple Factory 简单工厂模式

    在Java中,当你有一个复杂的子系统,而你希望客户端代码能够以一种更简洁、更易于理解的方式来与之交互时,就可以使用Facade模式。这个模式通过创建一个新类(外观类),将子系统中的一系列接口聚合到一起,客户端只...

    C#面向对象设计模式纵横谈\11 结构型模式Facade外观模式.zip

    在这里与各位分享本人从网络上下载的C#面向对象设计模式纵横谈系列视频,共有25节,除了第一节需要各位贡献一点资源分以作为对本人上传资源的回馈,后面的其他资源均不需要... 这是第11节:结构型模式Facade外观模式

    C#面向对象设计模式纵横谈(11):Facade 外观模式(结构型模式)

    - **意图**:为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,使得这一子系统更加容易使用。 - **动机**:简化外部客户程序与系统间的交互接口,解耦外部客户程序的演化和内部子系统的变化...

    设计模式之Facade

    Facade模式将子系统的多个组件组合在一起,提供了一个高层次的接口,这个接口只暴露了必要的功能,隐藏了子系统的实现细节。 在软件工程中,随着项目的发展,系统可能会变得越来越复杂,包含很多相互依赖的子系统。...

    Python笔记之facade模式

    门面(Facade)模式是一种结构型设计模式,它在复杂系统中扮演着简化接口的角色,为客户提供一个统一的入口,使得客户不必关心系统的内部结构,从而降低系统的使用难度。在Python中,我们可以很容易地实现这一模式。...

Global site tag (gtag.js) - Google Analytics