Java实现外观模式

外观模式(Facade)
外观模式提供了一个统一的接口,用来访问子系统中的一群接口。
外观模式的目的是让接口变得简洁。

外观模式思想很简单,就是将相关的功能聚集到统一的外观接口中,操作外观让系统更容易使用。

外观模式示例:怎样度过一天

起床

public class Wakeup
{
    public void wakeup()
    {
        System.out.println("起床");
    }
}

工作

public class Work
{
    public void work()
    {
        System.out.println("工作");
    }
}

睡觉

public class Sleep
{
    public void sleep()
    {
        System.out.println("睡觉");
    }
}

如果不使用外观模式,需要分别调用子系统中的功能,使用外观模式,可以将分散的功能集中到外观类中,简化调用方式

外观类

public class DayFacade
{
    private Wakeup wakeup;
    private Work work;
    private Sleep sleep;

    public DayFacade(Wakeup wakeup,Work work,Sleep sleep)
    {
        this.wakeup = wakeup;
        this.work = work;
        this.sleep = sleep;
    }

    // 度过一天
    public void oneday()
    {
        wakeup.wakeup();
        work.work();
        sleep.sleep();
    }
}

使用外观

Wakeup wakeup = new Wakeup();
Work work=new Work();
Sleep sleep = new Sleep();
// 创建外观
DayFacade day=new DayFacade(wakeup,work,sleep);
day.oneday();
posted @ 2021-07-02 14:09  lypzzzz  阅读(80)  评论(0)    收藏  举报