3.Netty from the ground up
Netty 组件:
- Bootstrap / ServerBootstrap
- EventLoop
- EventLoopGroup
- ChannelPipeline
- Channel
- Future / ChannelFuture
- ChannelInitializer
- ChannelHandler
接下来将会在本章对上面组件进行介绍,为了避免分散地介绍它们,我们将详细说明它们是如何在一起工作的。
Netty 组件:
接下来将会在本章对上面组件进行介绍,为了避免分散地介绍它们,我们将详细说明它们是如何在一起工作的。
本章内容主要介绍:
前面关于 Netty 架构的省略。
整个 Netty 的 API 都是异步的。异步处理并不新鲜,已经出现有一段时间了。在这些年里,IO 经常出现瓶颈,所以异步处理变得越来越重要。
在使用资源时调用异步处理可以变得更有效率,因为当任务进行时,我们可以去干其他事,直到我们收到任务完成的信息。
可以到官网下载,也可以直接使用 maven 依赖:
1 | <dependencies> |
允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。
现在有一台糖果机,它的状态(挺复杂的):
从上面的状态实现代码的步骤:
将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。
欧洲的插座大多是三脚的,而美国的插头大多是两脚的,那么如何让两脚插头插进三脚插座里呢?这就需要一个转换头,作为一个中介,二脚插头先插入转换头,然后转换头再插入三脚插座。
还记得笔记1里的鸭子吧?
在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类。模版方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。
好莱坞原则:别调用(打电话给)我们,我们会调用(打电话给)你。
(由高层组件决定低层组件的行为,而不是反过来)
现在你有两种冲泡饮料,分别是咖啡和茶。
咖啡的冲泡过程:
茶的冲泡过程: