设计模式在Netty中的应用-装饰者模式源码举例
生活随笔
收集整理的這篇文章主要介紹了
设计模式在Netty中的应用-装饰者模式源码举例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
裝飾者模式要點回顧:
1、裝飾者和被裝飾者實現同一個接口。
2、裝飾者通常繼承被裝飾者,同宗同源。
3、動態修改、重載被裝飾者的方法。
WrappedByteBuf :
class WrappedByteBuf extends ByteBuf {protected final ByteBuf buf;protected WrappedByteBuf(ByteBuf buf) {if(buf == null) {throw new NullPointerException("buf");} else {this.buf = buf;}}... }UnreleasableByteBuf :
final class UnreleasableByteBuf extends WrappedByteBuf {private SwappedByteBuf swappedBuf;UnreleasableByteBuf(ByteBuf buf) {super(buf);}...public boolean release() {return false;}public boolean release(int decrement) {return false;} }SimpleakAwareByteBuf:
final class SimpleLeakAwareByteBuf extends WrappedByteBuf {private final ResourceLeak leak;SimpleLeakAwareByteBuf(ByteBuf buf, ResourceLeak leak) {super(buf);this.leak = leak;}...public boolean release() {boolean deallocated = super.release();if(deallocated) {this.leak.close();}return deallocated;}public boolean release(int decrement) {boolean deallocated = super.release(decrement);if(deallocated) {this.leak.close();}return deallocated;} }?
?
總結
以上是生活随笔為你收集整理的设计模式在Netty中的应用-装饰者模式源码举例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 设计模式在Netty 中的应用-策略模式
- 下一篇: 设计模式在Netty中的应用-观察者模式