【发布时间】:2012-08-03 10:15:04
【问题描述】:
这是How to get rid of instanceof in this Builder implementation的后续帖子
这个设计还有一些问题。每次引入新参数时,都必须创建一个新的 ConcereteParameter 类。
这不是问题。但是还必须在 CommandBuilder append(ConcreteParameter) 中添加方法。而且我不太喜欢这种依赖。
总结
可以使用参数配置命令。并非每个命令都可以接收相同的参数。所以有些不得不被忽略。应用于命令时(在此实现中,这是通过抛出
UnsupportedOperationException可应用于某些类的参数在这些类中的使用方式不同(如 FTPCommand 和 HTTPCommand 可能以不同的方式使用 IpParameter)
未来可能会引入新的命令和参数
更新
现在的实现是works。但是,如果我有,这不是矫枉过正吗?
大约 30 个参数,对于每个参数我必须有一个单独的方法?
如果有, 有什么更干净、更灵活的方式/模式来实现这一目标?
【问题讨论】:
标签: java oop design-patterns