设计模式-外观模式

追求适度,才能走向成功;人在顶峰,迈步就是下坡;身在低谷,抬足既是登高;弦,绷得太紧会断;人,思虑过度会疯;水至清无鱼,人至真无友,山至高无树;适度,不是中庸,而是一种明智的生活态度。

导读:本篇文章讲解 设计模式-外观模式,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

(1)案例背景:

在计算机主机(Mainframe)中,只需要按下主机的开机按钮(on()),即可调用其他硬件设备和软件的启动方法,如内存(Memory)的自检(check())、CPU的运行(run())、硬盘的(HardDisk)的读取(read())、操作系统(OS)的载入(load())等,如果某一过程发生错误则计算机启动失败。使用外观模式模拟该过程,绘制类图并编程实现。(课本230页第二题)

(2)实现步骤:

  • 根据题意,画出外观模式的类图,使主机类Mainframe充当外观角色,内存类Memory,CPU类CPU,硬盘类HardDisk和操作系统类OS充当子系统角色
  • 根据类图,编写并实现代码
  • 编译并运行代码,使代码能够输出模拟出来的电脑开机过程

(3)案例总结:

在以下情况下可以使用外观模式:

  • 当要为一个复杂子系统提供一个简单接口的时候可以使用外观模式,该接口可以满足大部分用户需求,用户也可以越过外观类直接访问子系统
  • 客户程序和多个子系统之间存在很大的依赖性。引入外观类将子系统与客户以及其他子系统解耦,可以提高子系统的独立性和可移植性。
  • 在层次化结构中,可以使用外观模式定义系统中每一层的入口,层与层之间不直接产生联系,而是通过外观类建立联系,降低层之间的耦合度。

代码结构:

 设计模式-外观模式

详细代码:

Memory.java:

package Mainframe.Function;



import Mainframe.Mainframe.Mainframe;



public class Memory {

    public void check(){

        System.out.println("内存自检。");

    }





}

 

CPU.java:

package Mainframe.Function;



public class CPU {

    public void run(){

        System.out.println("CPU运行。");

    }

}

 

HardDisk.java:

package Mainframe.Function;



public class HardDisk {

    public void read(){

        System.out.println("硬盘读取。");

    }

}

OS.java:

package Mainframe.Function;



public class OS {

    public void load(){

        System.out.println("操作系统载入。");

    }

}

Mainframe.java:

package Mainframe.Mainframe;



import Mainframe.Function.CPU;

import Mainframe.Function.HardDisk;

import Mainframe.Function.Memory;

import Mainframe.Function.OS;



public class Mainframe {

    public Memory memory  = new Memory();

    private CPU cpu = new CPU();

    private HardDisk hardDisk = new HardDisk();

    private OS os = new OS();



    public void on(){

        memory.check();

        cpu.run();

        hardDisk.read();

        os.load();

    }



}

 

Client.java:

package Mainframe;



import Mainframe.Mainframe.Mainframe;



public class Client {

    public static void main(String[] args) {

System.out.println("详细设计实验报告  1904班白旭君  2019005368");



        Mainframe mainframe = new Mainframe();



        mainframe.on();

    }

}

 

实验结果:

设计模式-外观模式

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由半码博客整理,本文链接:https://www.bmabk.com/index.php/post/128200.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
半码博客——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!