轻松掌握java外观模式_java

定义:外观模式(Facade),为子系统中的一组接口提供一个一致的界面,定义一个高层接口,这个接口使得这一子系统更加容易使用

特点:

    (1)实现了子系统与客户端之间的松耦合关系。

    (2)客户端屏蔽了子系统组件,减少了客户端所需处理的对象数目,并使得子系统使用起来更加容易。

企业级开发和常用框架重的应用:很多,比如常见的字符串的分割方法spilt也是

具体实例

package com.test.faced;

/**
 * 以喝茶为例:我们要喝茶,就得有茶具,茶叶,煮茶工具等
 */
public class Demo {

 public static void main(String[] args) {
 System.out.println("不使用外观模式时,这些对象都需要客户自己去准备");
 Tea tea = new Tea("龙井");
 TeaSet teaSet = new TeaSet();
 TeaTools teaTools = new TeaTools();
 System.out.println("喝茶");

 System.out.println("使用外观模式,我们提供一个茶馆对象:");
 TeaHouse teaHouse = new TeaHouse();
 teaHouse.drinkTead();
 System.out.println("喝茶");
 }
}

class Tea{
 public Tea(String name) {
 System.out.println("准备想要喝的茶的茶叶:"+name);
 }
}

class TeaSet{
 public TeaSet() {
 System.out.println("准备喝茶要用的茶具");
 }
}

class TeaTools{
 public TeaTools() {
 System.out.println("准备煮茶要用的工具,煮茶");
 }
}

class TeaHouse{
 public void drinkTead(){
 Tea tea = new Tea("龙井");
 TeaSet teaSet = new TeaSet();
 TeaTools teaTools = new TeaTools();
 System.out.println("请喝茶");
 }
}

其实外观模式就和我们常提的封装概念差不多,封装是将对象封装起来,而外观模式,则是将复杂的流程封装起来,对外提供一个统一的接口,让用户不用去管整个复杂的流程,只关注流程处理结果。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索java
, 设计模式
外观模式
30天轻松掌握javaweb、轻松掌握javaweb视频、外观模式 java、新版轻松掌握五十音、轻松掌握五十音,以便于您获取更多的相关知识。

时间: 2024-12-05 13:29:09

轻松掌握java外观模式_java的相关文章

轻松掌握Java代理模式_java

和大家一起聊一聊java代理模式 1.静态代理 1.1静态代理的代理类和和被代理的类都要维护一个共同的接口.  public interface IUserDao { void save(); } 1.2被代理的类,目标对象  public class UserDao implements IUserDao{ @Override public void save() { System.out.println("-----已经保存数据!!!------"); } } 1.3代理对象  p

轻松掌握Java命令模式_java

定义:请求以命令的形式包裹在对象中,并传给调用对象.调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令. 特点:     1.降低了系统耦合度.     2.新的命令可以很容易添加到系统中去. 企业级开发和常用框架中的应用:事务,struts的action控制器 实例: public class Demo { public static void main(String[] args) { Reicever reicever = new Reicever(); Co

轻松掌握Java状态模式_java

定义:在状态模式(State Pattern)中,类的行为是基于它的状态改变的. 特点: 1.封装了转换规则. 2.枚举可能的状态,在枚举状态之前需要确定状态种类. 3.将所有与某个状态有关的行为放到一个类中,并且可以方便地增加新的状态,只需要改变对象状态即可改变对象的行为. 4.允许状态转换逻辑与状态对象合成一体,而不是某一个巨大的条件语句块. 5.可以让多个环境对象共享一个状态对象,从而减少系统中对象的个数. 企业及开发和常用框架中的应用: 实例: public class Demo { p

轻松掌握Java建造者模式_java

建造者模式针对的是复杂对象的构建,比如一个产品有多个部分构成,每个部分都可以单独进行生产,这时候就可以用建造者模式,由Builder构造产品的每个部分,然后又director完成最后产品的组装. 特点:     1.分工更加明确,组建和构造分开,能更好的控制产品的生产.     2.容易扩展,有新的需求的时候,只要实现Builder借口就可以了. 企业级开发和常用框架中的应用:JMail 组成:产品类,抽象建造者,建造者,导演. 产品类: public class Product{ privat

轻松掌握Java策略模式_java

定义:一个类的行为或其算法可以在运行时更改.在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象.策略对象改变 context 对象的执行算法. 特点:     1.算法可以自由切换.     2.避免使用多重条件判断.     3.扩展性良好. 企业级开发和常用框架中的应用:java.servlet.http.HttpServlet的service方法 实例:对两个数的操作行为. public class Demo { public static v

轻松掌握java组合模式_java

组合模式,将对象组合成树形结构以表示"部分-整体"的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性,组合模式可以让客户端像修改配置文件一样简单的完成本来需要流程控制语句来完成的功能. 特点:对于递归或者类似树形的分级数据结构,可以用最简单的方式进行处理. 企业级开发和常用框架中的应用:系统目录结构和网站导航结构 下面以目录结构举例: 场景:假设我们现在有一个目录,目录下面还有子目录和文件,现在我们要查看整个目录及目录下的所有文件和创建时间 具体代码如下: package

轻松掌握Java桥接模式_java

定义:将抽象部分与实现部分分离,使它们都可以独立的变化. 特点:桥接模式基于类的最小设计原则,通过使用封装,聚合以及继承等行为来让不同的类承担不同的责任.它的主要特点是把抽象(abstraction)与行为实现(implementation)分离开来,从而可以保持各部分的独立性以及应对它们的功能扩展. 企业级开发和常用框架中的应用:多继承的结构 只是从定义理解桥接模式,很难理清它的作用,下面举个例子来说明: 电脑城卖电脑,电脑种类分了平板电脑,笔记本电脑,台式电脑:电脑品牌又分了联想,戴尔,华硕

轻松掌握Java迭代器模式_java

定义:用于顺序访问集合对象的元素,不需要知道集合对象的底层表示. 特点:     1.它支持以不同的方式遍历一个聚合对象.     2.迭代器简化了聚合类.     3.在同一个聚合上可以有多个遍历.     4.在迭代器模式中,增加新的聚合类和迭代器类都很方便,无须修改原有代码. 企业级开发和常用框架中的应用:java集合都实现了迭代器 具体实例: public class Demo { public static void main(String[] args) { ActualContai

Java设计模式详解之门面模式(外观模式)_java

门面模式(Facade Pattern)也叫外观模式,它隐藏系统的复杂性,并向客户端提供一个可以访问系统的接口.这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性,为子系统中的一组接口提供了一个统一的高层访问接口,这个接口使得子系统更容易被访问或使用.这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用. 简而言之,就是把一堆复杂的流程封装成一个接口供给用户更简单的使用,这个设计模式里有三个角色: 1)门面角色( facade ):