JAVA语言设计模式之结构型外观模式设计讲解
小标 2018-07-13 来源 : 阅读 1105 评论 0

摘要:本文主要向大家介绍了JAVA语言设计模式之结构型外观模式设计讲解,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

本文主要向大家介绍了JAVA语言设计模式之结构型外观模式设计讲解,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

外观模式,在项目开发和实际运用中十分频繁,但是其极易理解。

该模式就是把一些复杂的流程封装成一个接口供给外部用户更简单的使用。

1、涉及到3个角色。

a.门面角色:外观模式的核心。它被客户角色调用,它熟悉子系统的功能。内部根据客户角色的需求预定了几种功能的组合。

b.子系统角色:实现了子系统的功能。它对客户角色和Facade时未知的。它内部可以有系统内的相互交互,也可以由供外界调用的接口。

c.客户角色:通过调用Facede来完成要实现的功能。

2、代码演示:

   

a.3个子系统的代码(CPU,Memory,Disk)

    public class CPU

    {

        public void start()

        {

            System.out.print("cpu is start...");

        }

        public void shutDown()

        {

            System.out.print("CPU is shutDown...");

        }

    }

 

    public class Disk

    {

        public void start()

        {

            System.out.print("Disk is start...");

        }

        public void shutDown()

        {

            System.out.print("Disk is shutDown...");

        }

    }

 

    public class Memory

    {

        public void start()

        {

            System.out.print("Memory is start...");

        }

        public void shutDown()

        {

            System.out.print("Memory is shutDown...");

        }

    }

 

b.门面类Computer

    //核心

    public class Computer

    {

        private CPU cpu;

        private Memory memory;

        private Disk disk;

        public Computer()

        {

            cpu = new CPU();

            memory = new Memory();

            disk = new Disk();

        }

        public void start()

        {

            System.out.print("Computer start begin");

            cpu.start();

            disk.start();

            memory.start();

            System.out.print("Computer start end");

        }

 

        public void shutDown()

        {

            System.out.print("Computer shutDown begin");

            cpu.shutDown();

            disk.shutDown();

            memory.shutDown();

            System.out.print("Computer shutDown end...");

        }

    }

 

c.客户端类Cilent

    public class Cilent {

        public static void main(String[] args)

        {

            Computer computer = new Computer();

            computer.start();

            System.out.print("=================");

            computer.shutDown();

        }

    }

     

从上面的实例来看,有了这个Facade类,也就是Computer类,用户就不用亲自去调用子系统中的Disk,Memory、CPU类了,

不需要知道系统内部的实现细节,甚至都不用知道系统内部的构成。客户端只需要跟Facade交互就可以了

   

3、优点

松散耦合

使得客户端和子系统之间解耦,让子系统内部的模块功能更容易扩展和维护;

简单易用

客户端根本不需要知道子系统内部的实现,或者根本不需要知道子系统内部的构成,它只需要跟Facade类交互即可。

更好的划分访问层次

有些方法是对系统外的,有些方法是系统内部相互交互的使用的。子系统把那些暴露给外部的功能集中到门面中,这样就可以实现客户端的使用,很好的隐藏了子系统内部的细节。

以上就是职坐标整理发布关于JAVA的介绍,先祝大家对它有了一定的了解吧,了解更多内容,请关注职坐标编程语言JAVA频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved