为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更容易使用.
很常用,较好体现了依赖倒转原则和迪米特法则思想.
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();
}
}
分享到:
相关推荐
本文将深入探讨FACADE模式、Adapter模式以及Singleton和Proxy模式的基本概念、应用场景和关键要素。 首先,FACADE(外观)模式是一种接口型模式,它的主要作用是为复杂的子系统提供一个简单的接口,使得客户端无需...
**C++ Facade模式** Facade模式,又称为外观模式,是设计模式中的一种结构型模式。在软件工程中,它为子系统提供了一个统一的入口,简化了客户端对复杂子系统的访问,使得客户端无需了解子系统内部的具体实现细节。...
**Java实现的简单应用:Facade模式范例** Facade模式,也称为门面模式,是一种结构型设计模式,它提供了一个统一的接口,用于与复杂的子系统进行交互。这个模式简化了客户端与子系统之间的交互,使得客户端只需要...
设计模式之门面模式(Facade模式),介绍门面模式,实际例子分析,代码讲解等
于是,使用Facade模式和反射技术模拟Hibernate框架技术演示怎样书封装数据库的操作。 环境:Windows XP Professional, JDK 1.6, Eclipse 3.3 Europa, SQL Server 2000 使用步骤: 1. 下载解压之后,使用Eclipse导入...
**外观(Facade)模式**是一种结构型设计模式,它的主要目的是提供一个统一的接口,用于客户端访问复杂的子系统。在大型软件系统中,通常由多个模块或子系统组成,每个子系统都有自己的功能,而客户端可能需要与这些...
在`Facade模式练习`中,我们通常会创建一个高层接口,这个接口封装了一系列复杂的操作。这样做可以使客户端代码更加简洁,避免直接与复杂的子系统交互。`Facade`类通常会包含多个对子系统对象的引用,通过调用这些...
外观模式(Facade模式)是一种设计模式,主要用于简化子系统或组件之间的交互,为复杂的系统提供一个简单的接口。在Java中,这种模式可以帮助我们管理和组织大量的类和接口,使其对外呈现简洁的交互方式。 外观模式...
外观模式属于结构型模式,其意图是为子系统中的一组接口提供一个一致的界面,Façade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。在项目设计中,把一个系统划分成为若干个子系统由利于降低系统的...
实验内容: 1) 家庭影院中有CD机,DVD机,收音机Turner,录影机Recorder,功放Amplifier,升降屏幕Screen等,请为家庭影院系统设计一个请设计一个门面,通过它可以方便的操作其他设备放电影等。...
门面(Facade)模式是一种设计模式,遵循迪米特法则,旨在简化子系统的使用,减少客户端与子系统之间的复杂依赖关系。迪米特法则主张一个对象应该尽量减少与其他对象的交互,只与直接的朋友交流,以此提高系统的内聚...
**Ajax与Facade模式** 在Web开发中,Ajax(Asynchronous JavaScript and XML)技术允许我们创建交互性更强、响应更快的网页。它通过在后台与服务器进行少量数据交换,实现了页面的部分更新,而无需刷新整个页面。...
在Java中,当你有一个复杂的子系统,而你希望客户端代码能够以一种更简洁、更易于理解的方式来与之交互时,就可以使用Facade模式。这个模式通过创建一个新类(外观类),将子系统中的一系列接口聚合到一起,客户端只...
在这里与各位分享本人从网络上下载的C#面向对象设计模式纵横谈系列视频,共有25节,除了第一节需要各位贡献一点资源分以作为对本人上传资源的回馈,后面的其他资源均不需要... 这是第11节:结构型模式Facade外观模式
- **意图**:为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,使得这一子系统更加容易使用。 - **动机**:简化外部客户程序与系统间的交互接口,解耦外部客户程序的演化和内部子系统的变化...
Facade模式将子系统的多个组件组合在一起,提供了一个高层次的接口,这个接口只暴露了必要的功能,隐藏了子系统的实现细节。 在软件工程中,随着项目的发展,系统可能会变得越来越复杂,包含很多相互依赖的子系统。...
门面(Facade)模式是一种结构型设计模式,它在复杂系统中扮演着简化接口的角色,为客户提供一个统一的入口,使得客户不必关心系统的内部结构,从而降低系统的使用难度。在Python中,我们可以很容易地实现这一模式。...