【发布时间】:2012-06-05 15:09:55
【问题描述】:
我打算在下面重构我的代码
1.Class A_Builder to build A_Model
Class A_Builder{
public A_Model build(arg1){
//build A_Model
}
}
2.Class B_Builder to build B_Model
Class B_Builder{
public B_Model build(arg2,arg3){
//build B_Model
}
}
3.Class C_Builder to build C_Model
Class C_Builder{
public C_Model build(arg4){
//build C_Model
}
}
4.Class D_Builder...
一个builder构建模型,所以我打算使用命令模式来重构它们,将构建方法作为命令,但是如何处理不同的变量号,比如A是(arg1)和B是(arg2,arg3)
或者有什么想法可以重构这样的代码?提前谢谢。
【问题讨论】:
-
方法中的参数不同
-
您想要一个基于输入构建多个模型的构建器,还是要将构建器中的通用代码重构为一个超类?
-
所有模型在构建函数中都有不同数量的参数,或者有可能在两个具有相同签名的构建器类中具有 build(..)?模型类是否以某种方式相关(具有相同的超类等)?
-
@Jeremy Heiler:因为他们在做类似的事情,但构建了不同类型的模型,所以我认为我们可以重构它们吗?
-
@dbf:我想为他们建立一个超大类,但为这种情况创建一个超类似乎并不容易。
标签: java oop design-patterns jakarta-ee refactoring