`
kevin_wanwei
  • 浏览: 117564 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

设计模式学习系列(一)(Facade模式和Adapter模式)

阅读更多

Facade模式定义:

为子系统中的一组接口提供一个统一接口。Facade模式定义了一个更高

层的接口,使子系统更加容易使用。

按照我们程序员通俗的理解就是:某个类对外使用的方法参数越少越好,别的程序员就更容易调用你的方法。

用生活中例子来说,“为了获得相同利润,商家当然是选择付出(成本)最小的那种方法”

例如下面类中有两个方法功能一模一样,作为程序员来说我们更喜欢第一个方法:

public class Facade{
 //你不用做任何事情就可以得到100块钱
   public int getSalary(){

          return 100;
    }

//你必须工作才可以得到100块钱
    public int getSalary(Work work){

          return 100;
    }

}

 

 Adapter模式定义:

将一个类的接口转换成客户希望的另一个接口,Adapter模式使原本由于接口不兼容而不能在一起工作的类可以在一起工作。

 按照我们程序员通俗的理解就是:在开发调用别人写的方法,但别人方法参数是不是你想要参数,但你又不能修改别人的方法参数,因为你害怕会出现什么意外,所以这是你最好重新写个方法,在这个方法中调用那个方法,当然在调用之前进行一些必要封装。(满足参数类型需要)

代码示例:

//被调用者
public class Callee{

     public  void callee(Work callee){

             System.out.println("+++++++++++++++");

     }


}
//调用者
public class Caller{

     public void caller(){

      /*在这里你要调用被调用者的方法,在这里写一个方法来封装被调用者的方法,这就是一种适配器模式(当然它可以同样适用接口,重新定义接口来满足我们需要,这和代理模式有点像,但代理模式不会改变方法参数,代理模式会在后面讲到)*/
    callee();

    }

   private void callee(){
	Callee calee=new Callee();
               calee.callee(new Work());
}


}

 

 

 

0
0
分享到:
评论

相关推荐

    设计模式1,FACADE模式,Adapter

    同时,设计模式也是一种通用的术语,使得开发者能用共同的语言讨论和分析设计问题。 在实际应用中,FACADE模式通常用于简化复杂的系统,例如在操作系统或框架中,提供一个简单的API供用户调用。Adapter模式常用于...

    24种设计模式以及混合设计模式

    通过学习和应用这些设计模式,开发者不仅可以提高代码的可读性、可维护性和可扩展性,还能提升团队间的沟通效率,因为设计模式是软件工程中的通用语言。对于任何有志于提升软件开发水平的人来说,理解和掌握设计模式...

    Java设计模式菜鸟系列教程

    抽象工厂模式是一种创建型设计模式,提供了一种创建一系列相关或相互依赖对象的方法。它可以应用于框架设计、GUI 组件创建、数据库访问等场景。 6. 单例模式(Singleton Pattern) 单例模式是一种创建型设计模式,...

    设计模式精解-GoF 23种设计模式解析附C++.pdf

    在完成所有设计模式的学习和解析之后,开发者会发现自己已经进入了一个新的境界。这个过程不仅是对知识的掌握,更是对思维方式的一种转变。设计模式的学习过程往往充满挑战,但同时也充满了成就感。 #### 1. 创建型...

    JAVA设计模式chm文档

    设计模式之Facade(外观) 设计模式之Proxy(代理) 设计模式之Adapter(适配器) 设计模式之Composite(组合) 设计模式之Decorator(油漆工) 设计模式之Bridge 设计模式之Flyweight(享元) 行为模式: 设计模式之Template ...

    设计模式学习笔记大全

    设计模式是软件工程中的一种重要思想,它是在特定情境下,为解决常见问题而提出的一套最佳实践。这些模式经过时间的验证,被...在实际开发中,结合具体情况灵活选择和组合设计模式,是成为一名优秀程序员的重要步骤。

    23种面向对象设计模式

    文档中的“23种设计模式学习笔记.doc”可能包含了对这23种模式的详细解释和实例,而“设计模式之我爱我家.doc”可能从一个更生活化的角度来阐述设计模式的概念。“软件23种设计模式,超级经典的.pdf”可能是对这些...

    《设计模式:可复用面向对象软件的基础》学习并理解 23 种设计模式

    设计模式是一种被广泛采用的、经过验证的解决方案,用于解决软件开发过程中常见的设计问题。它不仅帮助开发者编写可复用的代码,还促进了团队成员之间的有效沟通。设计模式通常包括以下几个部分: 1. **模式名称**...

    C#23种设计模式【完整】.pdf

    这些设计模式是.NET进阶必备的知识,通过学习和掌握这些设计模式,可以提高程序员的设计和编码能力。 创建型设计模式 1. 单件模式(Singleton Pattern):确保一个类只有一个实例,并提供一个访问该实例的全局访问...

    C++的设计模式学习资料

    正如文中提到的:“设计模式之于面向对象系统的设计和开发的作用就有如数据结构之于面向过程开发的作用一般”,学习和应用设计模式是一项长期的过程,需要不断地实践和反思。希望通过对这些设计模式的深入研究和实践...

    Java设计模式代码,设计模式系列所有示例代码

    本资源“Java设计模式代码,设计模式系列所有示例代码”为学习者提供了实际操作设计模式的宝贵机会,使理论与实践相结合,提升开发效率和代码质量。 首先,设计模式分为三大类:创建型、结构型和行为型。创建型模式...

    c#设计模式

    C#设计模式是针对C#编程语言的特定设计模式应用,它们是经验丰富的开发者们在面对软件设计时总结出的一系列可重用解决方案。这里我们将深入探讨23个经典设计模式,并了解它们在C#中的应用。 1. 创建型模式:这类...

    您的设计模式.pdf。

    单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点。单例模式可以帮助开发者避免重复创建对象,提高系统的性能。例如,在一个系统中,配置文件的读取可以使用单例模式来实现,以避免...

    java设计模式中英文各种版本打包下载 学习设计模式必备材料

    总之,Java设计模式是软件开发中的重要工具,通过学习和应用,可以提高代码质量,降低维护成本,同时也是成为一名合格的J2EE架构师的必要条件。这个压缩包中的各种版本的资源,无论是中文还是英文,都能为你的设计...

    设计模式 之 “门面模式[Facade Pattern]”

    门面模式(Facade Pattern)是软件工程中一种常用的结构型设计模式,它的主要目的是提供一个统一的接口,用来简化系统中一组复杂的接口或类的使用。这个模式将复杂的子系统接口封装在一个简单的门面对象中,使得...

    《Java设计模式》课后答案-刘伟.rar

    结构型设计模式包括适配器(Adapter)、桥接(Bridge)、装饰(Decorator)、外观(Facade)、享元(Flyweight)、组合(Composite)和代理(Proxy)。这些模式帮助我们更好地组织类和对象之间的关系,实现松耦合,...

    设计模式精解-GoF-23种设计模式解析--附C++源代码

    C++源代码文件可以帮助你更好地理解如何在实际项目中应用这些模式,通过阅读和分析代码,你可以学习如何在C++中实现这些设计模式,并将它们融入到自己的编程实践中。 总而言之,设计模式是软件开发中的宝贵财富,...

    《java设计模式》课后习题模拟试题解答——刘伟.zip

    通过解答课后习题和模拟试题,学生不仅能深入理解设计模式的精髓,还能提升分析问题和解决问题的能力,为成为一名优秀的Java开发者打下坚实基础。这个压缩包中的资料将是一个宝贵的参考资料,帮助读者巩固设计模式的...

Global site tag (gtag.js) - Google Analytics