我有一个这样的用例:
基于传递的参数 - 我必须创建一个与之对应的对象,但底层功能保持不变。
public void selectType ()
{
String type = "ABC";
publishType(type);
}
public void publishType(String type)
{
if (type.equals("ABC"))
ABCtype publishObject = new ABCtype();
if (type.equals("XYZ"))
XYZtype publishObject = new XYZtype();
publishObject.setfunctionality();
}
有什么更好的方法来解决这个问题? 它属于哪种设计模式?
我的另一个疑问是 - 如何初始化publishObject? 它给出了这样的错误。
答案 0 :(得分:1)
但基础功能保持不变
你可能会考虑设计起诉界面..
做一些不错的Archi- Design,如:
定义一个接口,然后定义两个实现该接口的类 声明一个对象foo并根据参数初始化它。
interface IObject{
//methods here
}
class A implements IObject{}
class B implements IObject{}
public void selectType ()
{
IObject foo = getObject(1);
}
public IObject getObject(int type){
if (type ==1){
return new A();
}else{
return new B();
}
}