Lambda的设计是为了代码的优雅,要想理解 Lambda,得从基础讲起。
Lambda 的作用是减少一次性实现接口或匿名内部类的冗余,是对匿名内部类的简化,本质是一个可传递的行为(函数)。

1 从接口开始的最佳实践
职责划分的核心思想是:任务逻辑和执行逻辑彻底解耦,接口定义能力,实现类做业务,执行器做流程控制,装饰器做业务增强。
当我们刚开始使用接口时,可能会这样写:
// 文件一:任务接口
interface Task {
void execute();
}
// 文件二:实现 Task 的类
class MyTask implements Task {
// 实现类的方法
@Override
public void execute() {
System.out.println("任务执行了!");
}
public static void main(String[] args) {
Test test = new Test();
task.execute();
}
}
这段代码不优雅,因为:
- 没有复用性
- 无法统一添加执行前后的逻辑
- 控制权和任务逻辑混杂在一起
可能你暂时看不出来?那看看经过注释后的类吧:
class MyTask implements Task {
// 实现类的方法
@Override
public void {
System.out.println();
}
{
();
System.out.println();
task.execute();
System.out.println();
System.out.println();
task.execute();
System.out.println();
}
}


