我相信你一定熟悉这个成语,有点Java的借口封锁

//In the "Resource Manager" class
public void process(Command cmd){
  //Initialize
  ExpensiveResource resource = new ExpensiveResource();
  //Use
  cmd.execute(resource);
  //Release / Close
  resource.close();
}

//In the Client class...
manager.process(new Command(){

  public void execute(ExpensiveResource res){
    //Do things with the resource
  }
});

我最近href="https://stackoverflow.com/questions/1143586/in-need-of-refactoring-in-order-to-improve-testability">用这个成语/图案了很多,但我,它是让我头疼......

你如何在隔离测试的ResourceManager和客户端类?我发现,这种紧耦合他们这么多,你不能轻易地做到这一点。

思想赞赏。

此致

其他提示

我觉得匿名类应该小而简单,使用起来应该足够好测试结构,包括/。

如果你有什么事情那么复杂,大的,重要的是你觉得需要测试它使一个完整的类。

不要使用匿名内部类很多(如果有的话)。除了是难以测试,它们几乎不可能没有复制和粘贴重用。

大部分的时间,使他们充满类允许更大的灵活性,并提高您的面向对象设计(增加更多的类几乎总是提高了您的设计)。

顺便说一句,你所说的倒闭也有同样的问题 - 很难重用

scroll top