代码之家  ›  专栏  ›  技术社区  ›  Yossale

在可调用文件中加入多少逻辑是“正确的”?

  •  3
  • Yossale  · 技术社区  · 15 年前

    我经常使用可调用文件,并且我突然提出了一个让我恼火的问题:

    假设要运行函数foo(),首先需要做一些检查。

    你应该 1。插入支票作为可调用文件的一部分:

    class A implements Callable<Long> {
    ...
    public Long call() {
        check1();
        check2();
        return (run()); 
    }
    
    1. 或者,将所有这些逻辑插入到另一个类(a logic)中,并为执行器使用可调用的shell? class A implements Callable {
      ...
      public Long call() {
      ALogic aLogic = new ALogic();
      return (aLogic.run());
      }

    你认为赞成者和反对者是什么?你通常喜欢什么?

    3 回复  |  直到 15 年前
        1
  •  1
  •   Tom Hawtin - tackline    15 年前

    在实现回调[Java关键字]接口时,我的一般建议是专注于使[非Java关键字]接口适合于调用类型。一般来说,匿名内部类(或其他类)中不应该有那么多内容,而不仅仅是转发调用。

    另外,一般来说,构造一个对象,然后只调用一个方法是不好的。使其成为一个静态方法(这可能反过来通过一个私有的构造函数创建一个对象并运行它)。

        2
  •  1
  •   Peter Lawrey    15 年前

    你觉得哪个更简单或更清楚? 我建议你这么做。

        3
  •  0
  •   Phil    15 年前

    我通常更喜欢将回调转发到封闭类上的私有方法。这就消除了简单地指向匿名内部类的“this”引用,这是非常无用的。