当前位置: 首页 > news >正文

我理解的--java门面模式

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

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

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

192818_rIIi_2248826.png

这样子,就可以更好的管理功能,客户端不用变化代码,是不是结构很清晰。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();
    }

}


结果:

获取头
获取躯体
获取脚



转载于:https://my.oschina.net/liuxinquan/blog/650067

相关文章:

  • yii create url (一)
  • Android MediaPlayer Error/Info Code
  • Nginx服务器防止负载过高模块sysguard
  • 矩阵的存储及快速转置
  • [HeadFrist-HTMLCSS学习笔记][第一章Web语言:开始了解HTML]
  • USB2.0学习笔记连载(九):USB设备驱动的安装
  • PHP语言 -- 面向对象
  • spring 中IOC和aop的理解
  • keepalived which time exec track script , notify script when vrrp transition
  • 代理模式
  • java aopalliance-1.0.jar这个包是做什么用的?
  • Android客户端采用Http 协议Post方式请求与服务端进行数据交互(转)
  • Distributed3:SQL Server 创建分布式数据库
  • C#-属性
  • 2的幂的合并运算实例
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • Fabric架构演变之路
  • flask接收请求并推入栈
  • github指令
  • java中的hashCode
  • js面向对象
  • Mybatis初体验
  • nodejs:开发并发布一个nodejs包
  • QQ浏览器x5内核的兼容性问题
  • spring cloud gateway 源码解析(4)跨域问题处理
  • 从setTimeout-setInterval看JS线程
  • 番外篇1:在Windows环境下安装JDK
  • 猴子数据域名防封接口降低小说被封的风险
  • 巧用 TypeScript (一)
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • 小李飞刀:SQL题目刷起来!
  • 智能网联汽车信息安全
  • 追踪解析 FutureTask 源码
  • UI设计初学者应该如何入门?
  • # 飞书APP集成平台-数字化落地
  • # 睡眠3秒_床上这样睡觉的人,睡眠质量多半不好
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (rabbitmq的高级特性)消息可靠性
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • ./configure、make、make install 命令
  • .net 简单实现MD5
  • .Net 路由处理厉害了
  • .sh
  • [AutoSar]BSW_Memory_Stack_003 NVM与APP的显式和隐式同步
  • [bzoj 3124][sdoi 2013 省选] 直径
  • [CentOs7]搭建ftp服务器(2)——添加用户
  • [ChromeApp]指南!让你的谷歌浏览器好用十倍!
  • [CISCN2019 华东南赛区]Web4
  • [CSS]盒子模型
  • [Hive] 常见函数