码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式之外观模式

时间:2019-02-06 21:04:00      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:客户   启动   结果   string   生活   nbsp   color   art   star   

    外观模式又叫门面模式,在平时的开发中使用的极其的频繁但是却非常的简单。使用外观模式可以让客户端轻松的调用复杂的系统接口,因为客户端根本不关心子系统的内部是如何实现的,他们只需要调用门面类提供的方法即可。

    举个例子,在日常生活中我们启动一台电脑只需要按一个开关即可,但是启动一台电脑的过程其实是很复杂的,可是作为用户我们并不关心电脑的启动的流程。所以门面模式是很贴切我的日常生活的。下面我们用代码来表示门面模式。首先定义Cpu类、显示屏类,内存类。

//cpu类
public class Cpu {
    public void start(){
        System.out.println("computer的cpu启动了");
    }
    
    public void stop(){
        System.out.println("computer的cpu关闭了");
    }
}


//显示屏类
public class DisplayScreen {
    public void start(){
        System.out.println("computer的显示屏启动了");
    }
    
    public void stop(){
        System.out.println("computer的显示屏关闭了");
    }
}

//内存类
public class Memory {
    public void start(){
        System.out.println("computer的内存启动了");
    }
    
    public void stop(){
        System.out.println("computer的内存关闭了");
    }
}

接下来我们定义一个电脑的门面类:

public class ComputerFade {
    private Cpu cpu;
    private DisplayScreen displayScreen;
    private Memory memory;
    
    public ComputerFade(){
        this.cpu = new Cpu();
        this.displayScreen = new DisplayScreen();
        this.memory = new Memory();
    }
    
    public void start(){
        this.cpu.start();
        this.displayScreen.start();
        this.memory.start();
        System.out.println("computer的启动了");
    }
    
    public void stop(){
        this.cpu.stop();
        this.displayScreen.stop();
        this.memory.stop();
        System.out.println("computer的关闭了");
    }
}

客户端调用:

 public static void main(String[] args) {
        ComputerFade computerFade = new ComputerFade();
        computerFade.start();
        System.out.println("==========================");
        computerFade.stop();
    }

执行结果:

computer的cpu启动了
computer的显示屏启动了
computer的内存启动了
computer的启动了
==========================
computer的cpu关闭了
computer的显示屏关闭了
computer的内存关闭了
computer的关闭了


门面模式可以让客户端和子系统之间解耦,对于用户隐藏了内部实现的细节,相比其他的设计模式,门面设计模式还是比较好掌握的。

设计模式之外观模式

标签:客户   启动   结果   string   生活   nbsp   color   art   star   

原文地址:https://www.cnblogs.com/suyang-java/p/10354069.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!