小标
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
您输入的评论内容中包含违禁敏感词
我知道了

请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号