版权声明:偏头痛杨:本文为博主原创文章,未经作者允许不得转载,版权必究! https://blog.csdn.net/piantoutongyang/article/details/78344552
前戏
门面模式比较简单,就是我们把一些能封成一个方法的方法封成一个方法(有没有很绕?)
对外暴露的方法&接口太多,会增加调用者的复杂度,那我们可以对外直接暴露一个方法&接口,
然后在这个方法再调用其他方法,
对于调用者来说,就只是一个方法&接口的调用。
什么是门面模式
门面模式主要用于简化访问的复杂性,将一组复杂的类&方法&接口包装到一个简单的类&方法&接口中,
这种简化可能会降低访问底层的灵活性,但一般情况下都满足需求,如果不满则可以直接调用底层的类和方法,
以追求灵活性。
说白了就是封装一系列代码放到一个方法里,就这么简单。
手动实现门面模式
模拟三个工具类,三种逻辑
public class EatUtil {
public static void eat(){
System.out.println("我要吃饭啊");
}
}
public class SleepUtil {
public static void sleep(){
System.out.println("我要睡觉啊");
}
}
public class WorkUtil {
public static void work(){
System.out.println("我要工作呀");
}
}
所谓的门面模式,就是把这三个方法封装起来,对外只暴露一个方法。。
public class FacadeDemo1 {
public static void doSomething(){
SleepUtil.sleep();
EatUtil.eat();
WorkUtil.work();
}
}
测试主函数,原来作为调用者要调用三次,现在只需要调用一次。
public static void main(String[] args) {
FacadeDemo1.doSomething();
}
总结
主要就是简单的简化调用者复杂度,这种情况太太太常见了,不再赘述。