使网络传输和串口传输透明化,该使用怎样的设计模式?

我的想法是这样的:
我的业务需要两种传输方式支持,一种是网络传输,通过TCP/IP,另外一种使用Modem传输,不是拨号上网,直接使用串口通信,自定义通信协议。现在我想使用Java设计一个类,既支持网络又支持串口通信。而对于此传输类的使用者是透明的,不需要知道传输的细节,只需要使用通信类给出的发送和接收接口,通信类还必须支持数据的过滤。
可以实现网络对网络,串口对串口,网络对串口的传输。

希望有高手指点一二,多谢!

策略模式