`

java 设计模式--外观模式

    博客分类:
  • java
阅读更多

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

    这个“JAVA设计模式-chm版”资源显然包含了关于Java设计模式的详细信息,便于理解和应用。设计模式是对常见问题的解决方案的标准化描述,它们在软件工程中起到了重要的作用,帮助开发者创建可维护、可扩展且易于理解...

    Java设计模式----通俗易懂版

    Java设计模式是软件工程中的一种重要思想,它总结了在解决特定问题时,程序员们反复使用的一些最佳实践和解决方案。这个资源"Java设计模式----通俗易懂版"显然是一个专门针对初学者或需要深入理解设计模式的开发者...

    java常用设计模式-外观模式

    Java常用设计模式-外观模式 外观模式(Facade Pattern)是一种结构型设计模式,它提供了一个简单的接口来访问复杂系统中的子系统,从而隐藏了子系统的复杂性。外观模式属于对象型模式,它通过创建一个外观类,将...

    设计模式--外观模式java例子

    **外观模式(Facade Pattern)**是软件设计模式中的一种结构型模式,它的主要目的是为了解耦复杂的系统,提供一个统一的接口,使得客户端可以更容易地使用这个系统。在Java编程中,外观模式的应用广泛,尤其是在处理...

    JAVA设计模式-原则和23种设计模式归纳总结

    本资源主要介绍了JAVA设计模式的原则和23种设计模式的总结。设计模式是软件设计中的一种解决方案,能够使软件系统更加灵活、可维护和可扩展。本资源首先介绍了设计模式的六大原则,包括单一责任原则、开闭原则、里氏...

    JAVA设计模式-day2.pdf

    JAVA设计模式-day2,请的行业大能讲得课程,涉及:创建模式(5种: 1、 工厂方法模式(Factory Method); 2、 抽象工厂模式; 3、 单例模式(Singleton) • 4、 建造者模式(Builder); 5、 原型模式(Prototype...

    设计模式-Java语言中的应用

    通过阅读《设计模式-Java语言中的应用》,读者不仅可以掌握设计模式的基本概念和原理,还能学习到如何在实际项目中选择合适的设计模式,以及如何优雅地在Java代码中实现这些模式。这将有助于提升开发者的编程技巧,...

    java与模式-阎宏

    《Java与模式》是阎宏博士的一本经典著作,它深入浅出地介绍了如何在Java编程中应用设计模式。这本书不仅讲解了设计模式的基本概念,还涵盖了23种经典的GOF设计模式,并结合Java语言特性进行了详细的解释和实例演示...

    Java设计模式-图解-附代码.doc

    在软件工程中,设计模式是一种被广泛接受的解决特定设计问题的...因此,深入学习和理解Java设计模式对于任何Java开发者来说都是至关重要的。通过文档中的图解和代码示例,读者可以更好地理解和掌握这些模式的实际应用。

    JAVA设计模式--入门

    **Java设计模式——入门** 设计模式是软件开发中的一种最佳实践,它是在特定上下文中解决常见问题的经验总结。Java设计模式是面向对象编程中的一个重要概念,可以帮助开发者编写可复用、可维护、易于理解的代码。这...

    java设计模式-外观模式

    设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段...

    java设计模式----源代码

    Java设计模式是软件开发中的重要概念,它是一种在特定情境下解决问题的经验总结,可以提高代码的可读性、可维护性和可扩展性。本压缩包包含的源代码涵盖了多个经典的设计模式,接下来将对这些模式进行详细介绍。 1....

    java设计模式-言情版

    Java设计模式——这个“言情版”的表述,可能是以一种轻松幽默的方式讲解这些模式,使得学习过程更加有趣。下面我们将深入探讨Java设计模式的一些核心知识点。 1. **单例模式**:在Java中,单例模式确保一个类只有...

    Java设计模式-

    Java设计模式是软件工程中的一种重要思想,它代表了在解决特定问题时的最佳实践。这些模式都是经过时间和经验验证的设计解决方案,可以提高代码的可读性、可维护性和复用性。Java设计模式主要分为三类:创建型模式、...

    Java设计模式-23种设计模式详解

    Java设计模式详解 Java设计模式是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。 设计模式的六大原则...

    Head First java设计模式-中文版

    《Head First Java设计模式》是一本专为Java开发者量身打造的设计模式指南,以其独特的图文并茂、生动易懂的方式,深入浅出地讲解了设计模式这一编程领域的重要概念。这本书是面向中国的软件开发者,旨在推动知识的...

    java与模式-清晰书签版

    《Java与模式-清晰书签版》是一份包含多种Java设计模式详解的资源包,旨在帮助开发者深入理解和应用设计模式。这份资源集成了多种格式的文档,包括详细的文本描述、图表解析以及实际代码示例,使得学习过程更加直观...

    JAVA设计模式(java设计)

    Java设计模式是面向对象编程领域中的重要概念,它是一套被广泛接受并实践的解决软件设计问题的经验总结。设计模式并非具体的代码或库,而是一种在特定情境下为了解决常见问题而制定的通用解决方案的描述。它们描述了...

    清华大学出版 基于java程序语言的java设计模式课程 18-解释器模式(共25页).pptx

    本课程适合所有需要弥补JAVA设计模式的同学,课件内容制作精细,由浅入深,适合入门或进行知识回顾。 【完整课程列表】 基于java程序语言的设计java模式课程 01-设计模式概述(共36页).pptx 基于java程序语言的...

Global site tag (gtag.js) - Google Analytics