网络协议的设计模式?
所以我正在构建一个相当简单的文件传输服务器/客户端,但很难找到一个好的设计来处理协议中的不同命令和状态。
假设您有3个不同的命令upload
, remove
, download
,您可以使用3个不同的if语句,并使用额外的if语句跟踪状态,但这不会扩展并且无法维护。
责任链设计模式可用于连续的东西,如加密和压缩,但它不会处理命令的逻辑。
我知道这是一个相当广泛的问题,但有人有任何建议吗?
以下可能会有所帮助:
根据某些条件为同一操作提供不同的实现: http : //en.wikipedia.org/wiki/Strategy_pattern
维护通信状态(例如当前协议命令): http : //en.wikipedia.org/wiki/State_pattern
对于安全/压缩: http : //en.wikipedia.org/wiki/Decorator_pattern或责任链