现在有若干单例类,每个类的对象都要经过同样的处理步骤,请问改怎么设计?class A{
   String getParams(){return "";}
   List getData(){……}
   String packageResult(){……}
}
class B{
   String getParams(){return "";}
   List getData(){……}
   String packageResult(){……}
}
……类似上面三个类,他们都有一样的方法签名,方法的用途都一样,只是实现不一样。而每个类一共只要一个对象就够了,方法与类相关。请问改怎么设计合适?如果用接口就不能让方法与类相关,如果要让方法与类相关就不能用接口。总体概念上来看,这几个类都表示某个东西,很符合接口的定义。

解决方案 »

  1.   

    简单一点像这样interface MyBase {
        String getParams();    List getData();    String packageResult();
    }class A implements MyBase {    static private A mInstance;    private A() {
        }    public static A getInstance() {
    if (mInstance == null) {
        mInstance = new A();
    }
    return mInstance;
        }    @Override
        public String getParams() {
    // TODO Auto-generated method stub
    ...
        }    @Override
        public List getData() {
    // TODO Auto-generated method stub
    ...
        }    @Override
        public String packageResult() {
    // TODO Auto-generated method stub
    ...
        }
    }class B implements MyBase {    static private B mInstance;    private B() {
        }    public static B getInstance() {
    if (mInstance == null) {
        mInstance = new B();
    }
    return mInstance;
        }    @Override
        public String getParams() {
    // TODO Auto-generated method stub
    ...
        }    @Override
        public List getData() {
    // TODO Auto-generated method stub
    ...
        }    @Override
        public String packageResult() {
    // TODO Auto-generated method stub
    ...
        }
    }
      

  2.   

    再用个factory,呵呵!开始写,不要想着一下就写出100年不变的代码!