1.应用程序可能用到的一些接口,分别列出如下:
1.1:
package com.facade.test;
public interface ServiceA {
public void methodA();
}
1.2:
package com.facade.test;
public interface ServiceB {
public void methodB();
}
1.3:
package com.facade.test;
public interface ServiceC {
public void methodC();
}
2.以上各个方法的具体实现分别如下,对应上面的顺序:
2.1:
package com.facade.test;
public class ServiceAImpl implements ServiceA {
@Override
public void methodA() {
// TODO Auto-generated method stub
System.out.println("method a is running......");
}
}
2.2:
package com.facade.test;
public class ServiceBImpl implements ServiceB {
@Override
public void methodB() {
// TODO Auto-generated method stub
System.out.println("method b is running......");
}
}
2.3:
package com.facade.test;
public class ServiceCImpl implements ServiceC {
@Override
public void methodC() {
// TODO Auto-generated method stub
System.out.println("method c is running......");
}
}
3.facade:把用到的接口都放到此类中,然后进行实例化,若要完成一个任务,需要用到其中某些对象的一些方法,则把这组相关方法组合起来,构成一个新的方法,这样的话,我们可以直接调用前面那个方法,从而完成某一个特定的功能:
package com.facade.test;
public class Facade {
ServiceA sa;
ServiceB sb;
ServiceC sc;
public Facade() {
sa = new ServiceAImpl();
sb = new ServiceBImpl();
sc = new ServiceCImpl();
}
public void methodA(){
sa.methodA();
sb.methodB();
}
public void methodB() {
sb.methodB();
sc.methodC();
}
public void methodC() {
sc.methodC();
sa.methodA();
}
}
4.test:测试程序,当单独使用特定类的对象时和使用外观模式时进行对比,从而可以看出相应的效果:
package com.facade.test;
public class Test {
public static void main(String[] args) {
ServiceA sa = new ServiceAImpl();
ServiceB sb = new ServiceBImpl();
sa.methodA();
sb.methodB();
System.out.println("=====================");
Facade f = new Facade();
f.methodA();
f.methodB();
}
}
5.运行结果如下:
method a is running......
method b is running......
=====================
method a is running......
method b is running......
method b is running......
method c is running......
相关推荐
JAVA-设计模式-结构型模式-外观模式
设计模式--外观模式java例子
java常用设计模式-外观模式
JAVA设计模式-day2,请的行业大能讲得课程,涉及:创建模式(5种: 1、 工厂方法模式(Factory Method); 2、 抽象工厂模式; 3、 单例模式(Singleton) • 4、 建造者模式(Builder); 5、 原型模式(Prototype...
设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段...
1.2.5 外观模式 29 1.2.6 享元模式 32 1.2.7 代理模式 34 1.3 行为型模式 37 1.3.1 责任链模式 37 1.3.2 命令模式 40 1.3.3 解释器模式 43 1.3.4 迭代器模式 45 1.3.5 中介者模式 49 1.3.6 备忘录模式 52 1.3.7 观察...
设计模式练习-外观模式厂-JAVA外观模式练习示例。
外观模式 (Facade) 为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 外观模式是一种结构型模式。 结构 图-外观模式结构图 Facade ...
章节介绍:1、爪哇语言结构性模式之变压器模式介绍 2、爪哇语言抽象工厂创立性模式介绍 3、工厂方法创立...10、设计模式之State 11、设计模式之Facade(外观) 12、设计模式之Interpreter(解释器) 13、设计模式之Visitor
计算机后端-Java-图解java设计模式084 外观模式(4)-MyBa.avi
logo 6外观模式:没有接口,类单独定义外观模式:没有接口,类单独定义 设计模式(JAVA语言实现)--20种设计模式附带源码PPT模板全文共22页,当前为第7页。 7享元模式:共享池模式享元模式:共享池模式 设计模式...
计算机后端-Java-图解java设计模式085 外观模式(5).avi
计算机后端-Java-图解java设计模式083 外观模式(3).avi
计算机后端-Java-图解java设计模式081 外观模式(1).avi
计算机后端-Java-图解java设计模式082 外观模式(2).avi
设计模式之Facade(外观) 设计模式之Proxy(代理) 设计模式之Adapter(适配器) 设计模式之Composite(组合) 设计模式之Decorator(油漆工) 设计模式之Bridge 设计模式之Flyweight(享元) 行为模式: 设计模式之Template ...
设计模式主要分为三大类: 1.创建型模式:工厂模式、抽象工厂模式、单例模式、建造者模式、原型模式。 2.结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。 4.行为型模式:...
【例3.10】外观模式-安全系统 【例3.11】外观模式-椭圆功能 【例3.13】桥接模式-茶水机系统 【例3.14】桥接模式-几何立体体积 【例4.1】迭代器模式-矩阵搜索 【例4.2】迭代器模式-产品搜索 ...
这是JAVA设计模式中属于结构模式的部分,包括Flyweight(共享模式)、Bridge(桥模式)、Decorator(装饰模式)、Composite(组合模式)、Adapter(适配器模式)、Proxy(代理模式)、Facade (外观模式)的源代码。其中有些模式中...
外观模式(Facade Pattern) 享元模式(Flyweight Pattern) 代理模式(Proxy Pattern) 3 行为型模式 这些设计模式特别关注对象之间的通信。 责任链模式(Chain of Responsibility Pattern) 命令模式(Command ...