设计模式之 Facade(外观模式)通俗了解

1 Facade 模式的定义

为子系统中的一组接口提供一个一致的界面。即在一个项目中,把通用的部分接口抽离出来供各子模块使用。

2 应用实例

数据库 JDBC 的应用,log4j + slf4j 都是Facade的典型应用。在各个子模块中只要注入相应对象就可以使用。

3 如何使用?

比如你玩LOL,买日炎这个装备,每个玩家相当于一模块;每个人买到这件装备的过程是不同的,第一件可能是先是一件布甲或者红水晶;但是最后都是全部小件合成日炎。所以合成装备这个动作就可以抽出一个接口,供各个模块使用。

package xx.study.design.facade;

/**
 * facade接口   最小细化工具类
 */
public  class SynthesisEquipment {
    public static void  synthesisEquipment(){
        System.out.println("恭喜合成装备");
    }

}


package xx.study.design.facade;

public class PlayerJungle {
    public void buyEquipmet(){
        System.out.println("我打野 买了布甲,买了。。。要合日炎装备了!");
        SynthesisEquipment.synthesisEquipment();

    }
}

package xx.study.design.facade;

public class PlayerUpLoad {
    public void buyEquipmet(){
        System.out.println("我上路 买了布甲,买了。。。要合日炎装备了!");
        SynthesisEquipment.synthesisEquipment();

    }
}

猜你喜欢

转载自blog.csdn.net/h4241778/article/details/107436663