1.引子
最近学习了一定的Java并发编程,想试着实现类似于Thread
类(lambda表达式作为参数)的构造器实现,想了解其中的设计模式,即策略设计模式,而查阅资料,发现许多文章并非是从类的设计角度出发,并且很多没有将Java8的函数式编程纳入其中,故作此文。
2.设计模式思路
明确目标:我们所要达到的目的是,使用对象构造器的时候直接可以将lambda
表达式传入构造器,而不用对每个对象中的父类方法进行重写。后者无疑在方法需要修改的情况下会进行多个对象的方法重写,而前者只需要一个。
首先写一个只含一个抽象方法的接口,用于lambda
表达式函数式编程的入口参数编写
CodeBlock-1:
@FunctionalInterface
public interface CalculatorMethod {
double getTax(int salary, double bonus);//default:public
}
第二步,创建一个雇员对象,用于函数式编程的具体实现
类的内部域以及方法需要注意的点: