【问题标题】:Design patterns for network protocols?网络协议的设计模式?
【发布时间】:2014-02-15 17:33:51
【问题描述】:

所以我正在构建一个相当简单的文件传输服务器/客户端,但很难找出一个好的设计来处理协议中的不同命令和状态..

假设您有 3 个不同的命令 uploadremovedownload,您可以使用 3 个不同的 if 语句并使用额外的 if 语句跟踪状态,但这不会扩展并且将是 不可能维持..

责任链设计模式可用于加密和压缩等顺序内容,但它不会处理命令的逻辑。

我知道这是一个相当广泛的问题,但有人有什么建议吗?

【问题讨论】:

  • 您始终可以使用Map<String, Command>,其中键是命令名称,值是用于执行这些命令的接口的实现。这是众多解决方案中的一种

标签: java design-patterns networking protocols


【解决方案1】:

以下内容可能会有所帮助:

根据某些条件为同一操作提供不同的实现:http://en.wikipedia.org/wiki/Strategy_pattern

保持通信状态(例如当前协议命令):http://en.wikipedia.org/wiki/State_pattern

对于安全/压缩:http://en.wikipedia.org/wiki/Decorator_pattern 或责任链

【讨论】:

    猜你喜欢
    • 2015-10-14
    • 2011-01-06
    • 2021-06-21
    • 2013-12-14
    • 2012-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-27
    相关资源
    最近更新 更多