读书人

讯息模式

发布时间: 2013-03-22 09:49:50 作者: rapoo

消息模式

最近看到一个应用,虽然代码量不大,但设计却很新颖,有种麻雀虽小,五脏俱全的感觉,在这跟大家分享下


先看下大致结构:

讯息模式

其中

1. AsyncWorker:抽象的业务接口,提供了doWork方法,具体的业务处理逻辑由子类来封装

2. AbstractNapoliWorker<T>:总控制器

a) 定义泛型,由子类来控制解析出来的消息类型,自由灵活。

b)对doWork方法初步实现,引入了一些控制逻辑

 protected T parseMessage(Serializable msg) {        if (msg == null) {            return null;        }        if (msg instanceof String) {           //业务处理   return ...;        }         return null;    }

parseMessage方法,控制的过死,每一种类型(如:String)只能按一种方式来解析,不灵活,如果入参再增加一个类型参数,用于控制msg采用何种方式来解析,也许会更好些。



读书人网 >编程

热点推荐