适当的设计,我在Java中创建一个通用的“SocketServer的”类采用下列参数: 字符串地址,INT端口,类套接字协议,字符串encryptionType加密,诠释backlogSize帮助与通用套接字服务器
基本上,我希望其他开发人员能够在他们的项目中实例化这个类,并为加密,积压,地址,端口设置一些简单的选项..在这一点上他们必须设计协议。 SocketProtocol是一个接口,它支持sendMessage和receiveMessage(以及其他一些接口)。
此时,类的用户应该只实现SocketProtocol并将类(即MySocketProto.class)传递给SocketServer实例,该实例将通过.newInstance实例化每个传入连接的协议副本( );
这是否有意义?有没有更简单的方法来建立这种类型的功能?我不喜欢将类的类型传递给服务器的想法,这似乎很奇怪。
感谢所有, 克里斯
我像这个想法..它确实照顾了类参数。那么,让我直截了当地说,ISocketProtocolFactory实现实例将实现用户实现的ISocketProtocol,然后返回实例化的对象? – 2010-07-15 18:01:21
没错。您甚至可以将参数添加到'buildProtocol',并且用户可能会在某些情况下返回不同的'ISocketProtocol'实现。但在大多数情况下,它只是'返回新的MySocketProtocol()'。 – 2010-07-15 19:01:48
甜。谢谢。听起来像工厂设计模式符合要求。我很熟悉它,但没有想到在这种情况下使用它! – 2010-07-15 20:40:53