`
gary0416
  • 浏览: 334785 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Facade模式

阅读更多

为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更容易使用.
很常用,较好体现了依赖倒转原则和迪米特法则思想.

 

Facade.java

package com.gary.designpattern.facade;

/**
 * Facade类,需要了解子功能,并组合
 * @author gary
 *
 */
public class Facade {
	/**
	 * 组合hello方法,供其它方法调用
	 */
	public void sayHello(){
		System.out.println("say hello:");
		new HelloA().helloA();
		new HelloB().helloB();
	}
	
	/**
	 * goodbye
	 */
	public void sayGoodBye(){
		System.out.println("say goodbye:");
		new GoodByeA().goodByeA();
	}
}

 

HelloA.java

package com.gary.designpattern.facade;

/**
 * HelloA
 * @author gary
 *
 */
public class HelloA {
	public void helloA(){
		System.out.println("HelloA");
	}
}

 

HelloB.java

package com.gary.designpattern.facade;

/**
 * HelloB
 * @author gary
 *
 */
public class HelloB {
	public void helloB(){
		System.out.println("HelloB");
	}
}

 

GoodByeA.java

package com.gary.designpattern.facade;

/**
 * GoodByeA
 * @author gary
 *
 */
public class GoodByeA {
	public void goodByeA(){
		System.out.println("GoodByeA");
	}
}

 

Test.java

package com.gary.designpattern.facade;

/**
 * 测试
 * @author gary
 *
 */
public class Test {
	public static void main(String[] args) {
		Facade facade = new Facade();
		//只需调用sayHello,不需要知道具体都调用了哪个方法
		facade.sayHello();
		System.out.println("======split======");
		facade.sayGoodBye();
	}
}

 

2
11
分享到:
评论

相关推荐

    设计模式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