源码中经常看到调用本类中的抽象方法,运行时才知道是哪个实现类。但是我们看源码时不知道是哪个实现类,需要debug进行查看到是哪个实现类!!!!

源码中为啥会用好多设计模式如:模板,委派,装饰者,责任链,工程模式等。例如在netty中:

Bootstrap b = new Bootstrap();

ChannelFuture f = b.connect(this.host, this.port).sync();   这个connect方法源码中使用了下图中的调用链。为啥要这么设计?

主要是为了封装其中的默认设置,将默认值设置了,用户就不用自己去调用java的NIO的API进行设置。netty的设计思想就是一个NIO的封装框架,让人们更好的使用NIO。封装之后开发者掌握一定得API就可以使用,不需要很麻烦的去使用java的NIO的api。对netty的介绍请看:https://www.jianshu.com/p/a4e03835921a

框架中的高大上设计为了啥?相关推荐

  1. echo 框架中的 middleware 设计深度解析

    关注我,了解更多源码设计及实现细节... echo 框架中的 middleware 设计深度解析 " echo web 框架是 go 语言开发的一种高性能,可扩展,轻量级的web框架.几行代 ...

  2. cmstop框架中的js设计content.js

    控制cmstop框架中action的js 内容模块 找出当前页面的js的思路 01先找显示页面的当前文件.在页面文件中-->找(编辑,删除)按钮-->找获取这个按钮的js选择器 02看加载 ...

  3. Java集合框架中隐藏的设计套路

    我们的世界不应该只有"胡萝卜" 进入正题之前容我先扯点别的. 最近突然想到了一个驴子和胡萝卜不得不说的故事.说是一个人坐在驴子背上,用一根长杆绑着一根胡萝卜,然后把胡萝卜悬到驴子的 ...

  4. tp view html 引用css,TP5.1:将外部资源引入到框架中(css/js/font文件)

    为了让我们的框架形式变得更加好看,我们需要加入Bootstrap和Jq文件到框架中 1.通过Bootstrap和jq官网进行相关文件的下载 (1)Bootstrap下载地址:https://v3.bo ...

  5. 模板方法(设计一个稳定的父类框架,框架中的有一些步骤是可变的,将可变的步骤子类中来实现)

    模板方法设计模式的意图 设计一个框架,框架中整体步骤不可变,但是其中的有一些步骤是可变的,将可变的步骤放在不同的业务或者不同的模块对应的子类中来实现 举例 我们平时玩手机,我们可以将玩手机的过程分成以 ...

  6. Hadoop精华问答 | Hadoop框架中最核心的设计是什么?

    Hadoop能够进行大批量数据的离线处理,但是在实时计算上的表现实在是不尽如人意;而Storm就可以担当这部分的角色,今天,就让我们看看关于Storm的精华问答吧. 1 Q:hadoop发展史 A: ...

  7. AI中pass架构设计优化

    AI中pass架构设计优化 Relay 和 TVM IR,包含一系列优化passes,可提高模型的性能指标,例如平均推理,内存占用,或特定设备的功耗.有一套标准优化,及特定机器学习的优化,包括常量折叠 ...

  8. AI框架精要:设计思想

    AI框架精要:设计思想 本文主要介绍飞桨paddle平台的底层设计思想,可以帮助用户理解飞桨paddle框架的运作过程,以便于在实际业务需求中,更好的完成模型代码编写与调试及飞桨paddle框架的二次 ...

  9. 可见光能量范围_通过能量转移技术实现双功能金属有机框架中分子马达的可见光驱动旋转...

    人造分子机器和马达的发展使得设计和构建能够精确控制纳米级结构运动的特定分子结构成为可能.在这些人工系统中,过度拥挤的烯烃分子马达由于其手性控制的光化学驱动的重复单向旋转运动而备受关注.虽然已经证明这些 ...

最新文章

  1. html表单注册功能的实现,仅一个form表单 js实现注册信息依次填写提交功能
  2. Request.ServerVariables 参数大全
  3. 学计算机的一开学叫要带电脑吗,大一新生开学需要带电脑吗?辅导员给出建议,学生需提前了解...
  4. SolidEdge 如何绘制局部视图 局部放大图
  5. 总结2-深度学习网络搭建学习
  6. 树莓派安装python3.5_树莓派升级python的具体步骤
  7. python调用woff_修改Python脚本以批量转换目录中的所有“WOFF”文件
  8. 模板引擎工作原理_zuma致:新手SEO须知搜索引擎工作原理
  9. 【概率论基础进阶】随机事件和概率-古典概型与伯努利概型
  10. Breakpoint原理解释
  11. 电脑开机出现the computer case is open怎么办?
  12. 多重for循环优化,提升运行效率
  13. 图片填充整个PictureBox
  14. Oracle EBS简介
  15. 【转】如何使用分区助手完美迁移系统到SSD固态硬盘?
  16. 解决 Eclipse下Java heap space问题
  17. 认知计算主义的重建与反思
  18. 计算机网络——标准化
  19. git 下载项目到本地
  20. 双极性SPWM波生成

热门文章

  1. pythonturtle写字_对于Python turtle的学习笔记
  2. 【微信小程序】运行机制和更新机制
  3. Comodo防护软件的快速下载、快速更新技巧
  4. Nik collection不兼容CC2018闪退解决方法Win/Mac版
  5. 行级锁(悲观锁)的概念
  6. “中本聪岛”加密乌托邦
  7. S27赛季即将来袭 教你用Java做游戏王者荣耀
  8. python 获取二进制图片数据及判断得到图片类型
  9. SpringBoot+MyBatis+Vue+ElementUI项目实战-人事管理系统(免费开源)
  10. 计算机基础理论笔试题