我想构建服务器套接字模拟器,但我希望在那里实现一些设计模式。 我将描述我的案例研究,我已经简化了这些:
我的服务器套接字将始终监听客户端套接字。虽然某些请求消息来自客户端套接字,但服务器模拟器将通过套接字响应客户端。
响应是响应代码。 '00'将描述成功处理的请求消息,另一个期望'00'的响应代码将描述处理消息请求时存在一些错误。
在服务器中有一些UI,这个UI包含检查响应参数,如。 响应代码 超时间隔
我已实现该功能,但我在一个类中创建它。我觉得很糟糕。 你能建议我为重构我的代码而必须创建的类/接口。
答案 0 :(得分:1)
重构代码的需要实际上取决于服务器根据客户端请求执行的任务。如果它很简单,那么单个类可能是最好的设计。如果它正在做一些更复杂的事情,那么您可能希望将可以执行的各种操作移动到各种服务类。如果您的结果是标准的,您可以创建一个对象(可能是枚举?)来描述它们。
这是我在自己的一个应用程序中采用的方法。服务器本质上只处理它自己和客户端之间的IO。当客户端发送消息时,服务器将其解析为标准格式的“操作”对象。然后将该对象传递给管理器对象,该对象找到适当的“请求服务对象”。然后,该对象执行实际工作。完成后,它会生成一个返回对象,用于描述对象的状态/结果。然后由服务器执行此操作并以适当的方式格式化以通过线路发送到客户端。
希望这可以为您提供一些适合您的应用程序的想法。