大话设计模式-第九夜

昨夜说了小菜要脱单,今夜我们说说外观模式,装饰者模式听着跟外观模式好像有点像,不过完全没有关联以及相似处。反而外观模式有点像之前说过的建造者模式。读者可以细细体会之间的差别。

外观模式

外观模式主要是用于处理父模块和子模块。然后父模块再与外界进行一个接口操作。有点像我们极品飞车中的兰博基尼,可以买个贴膜、换个轮毂、加个尾翼。车虽然还是这个车,不过看上去更帅,更nb了。

外观模式类图

又是木哟类图

示例

public class ModelA{
    public void createA(){
        System.out.println("out A");
    }
}
public class ModelB{
    public void createB(){
        System.out.println("out B");
    }
}

public class Facade{
    public void create(){
        ModelA a = new ModelA();
        a.createA();
        ModelB b = new ModelB();
        b.createB();
    }
}

public class Test{
    public static void main(String[] args){
        Facade facade = new Facade();
        facade.create();
    }
}

结语

该模式其实主要在于Facade中将各个模块都创建出来,无需用户在其他位置上一会创建A,一会创建B。该模式很像之前提到的一个模式——建造者模式。不过建造者模式更偏重于建造一个实体,而外观模式更偏向于创建多个实体。

你可能感兴趣的:(大话设计模式,设计模式)