美文网首页
structure:外观模式 (Facade Pattern)

structure:外观模式 (Facade Pattern)

作者: 柳源居士 | 来源:发表于2019-03-08 00:15 被阅读0次

    目的:让接口变得更加简单。将一个或多个类的复杂隐藏,只露出简单的外观。
    定义:提供一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。
    实现思路:
    一个类包含多个接口的引用,通过方法把多个接口方法组合起来。
    外观模式实现起来很简单,但是它的意义在于最少知识原则。
    它等于在客户与具体实现代码之间架起了一个桥梁。

    image.png

    实现:

    package facade;
    
    import Adapter.Chick;
    import Adapter.Duck;
    import command.Light;
    import command.LightOnCommand;
    
    public class HomeFacade {
        Duck duck;
        Chick chick;
        Light light;
    
        public HomeFacade(Duck duck, Chick chick, Light light) {
            this.duck = duck;
            this.chick = chick;
            this.light = light;
        }
    
        public void sendFood(){
            LightOnCommand lightOnCommand=new LightOnCommand(light);
            lightOnCommand.execute();
            duck.gaga();
            chick.guuguu();
            lightOnCommand.undo();
        }
    }
    

    相关文章

      网友评论

          本文标题:structure:外观模式 (Facade Pattern)

          本文链接:https://www.haomeiwen.com/subject/aoxzuqtx.html