MINA 中的Chain of Responsibility

都知道servelet 的filter ,用起来很得意,其实MINA 中很多的东西也是通过filter来实现的。

这个filter可以参考[mina指南]诡异的IoFilterChain实现 ,但是给我印象最深的就是IoFilter 中的Entry。传统我们在设计CoR 时在filter上面肯定会有个getNext()之类的方法,用来指向下一个filter。可这里实现了职责的终极分离, 下一个filter的指向是注册filter时包装Filter的Entry来实现的。这样就让filter更加专注于自己所要的业务逻辑, 从根本实现职责的分离。

 

你可能感兴趣的:(Mina)