Netty源码实战(十一) - 设计模式的应用

版权声明:欢迎加入 Java 技术交流群214821336 https://blog.csdn.net/qq_33589510/article/details/87879359

1 单例模式


基本类型的单例模式代码

1.1 Netty 实例

1.1.1 ReadTimeoutException


可以看出,构造器私有,防止随意创建
static保证延迟加载

1.1.2 MqttEncoder

2 策略模式


基本类型的策略模式代码

根据 executers 去选择相应的策略

两种策略

3 装饰者模式


image.png

Netty 实践




4 观察者模式

4.1 常规操作





运行
结果

4.2 Netty 的实践

  • 在调用 writeAndFlush 后,其实返回的就是被观察者ChannelFulture
  • 添加观察者


    下面让我们深入writeAndFlush 看看
  • 从 pipeline 开始传播
  • 从 tail节点从后往前进行传播
  • promise就是被观察者



    下面看看添加观察者的源码实现~


3 迭代器模式

  • 示例

4 责任链模式


猜你喜欢

转载自blog.csdn.net/qq_33589510/article/details/87879359
今日推荐