我理解的--java门面模式

这个模式只是简单方法的封装。把一些相关的方法提取出来,单独封装到一个类中。体现了框架的意义,把逻辑业务和客户端分开,更好的组织结构框架,很清晰明了。

门面重在客户端代码的简洁性。

我理解的--java门面模式_第1张图片

这样子,就可以更好的管理功能,客户端不用变化代码,是不是结构很清晰。web框架的mvc,就是每个模块各自管理自己的功能,每个模块有各自有自己的函数。

头组件(Head):

class Head {
    void getHead() {
        System.out.println("获取头");
    }
}

身体组件(Body):

class Body {
    void getBody() {
        System.out.println("获取躯体");
    }
}

脚组件(Foot):

class Foot {
    void getFoot() {
        System.out.println("获取脚");
        
    }
}


用门面把各个组件封装成一个整体,完成一个完整功能:(初始化的时候是在构造函数中初始化的,很多模式是传参数)

public class Facade {
    Head head;
    Body body;
    Foot foot;

    Facade() {
        head = new Head();
        body = new Body();
        foot = new Foot();
    }

    void getAll() {
        head.getHead();
        body.getBody();
        foot.getFoot();
    }
}

在客户端只需调用门面类就能提供一个功能完整的整体:

class Test {

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

}


结果:

获取头
获取躯体
获取脚



你可能感兴趣的:(java设计模式,门面模式)