本文主要是介绍使用Lambda表达式重构模板方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.模板方法
如果你需要采用某个算法的框架, 同时又希望有一定的灵活度, 能对它的某些部分进行改进,那么采用模板方法设计模式是比较通用的方案。好吧,这样讲听起来有些抽象。换句话说,模板方法模式在你“希望使用这个算法,但是需要对其中的某些行进行改进,才能达到希望的效果”时是非常有用的。
让我们从一个例子着手, 看看这个模式是如何工作的。 假设你需要编写一个简单的在线银行应用。 通常, 用户需要输入一个用户账户, 之后应用才能从银行的数据库中得到用户的详细信息,最终完成一些让用户满意的操作。不同分行的在线银行应用让客户满意的方式可能还略有不同,比如给客户的账户发放红利, 或者仅仅是少发送一些推广文件。 你可能通过下面的抽象类方式来实现在线银行应用:
public class OnlineBanking {public void processCustomer(int id) {Customer c = Database.getCustomerWithId(id);}static private class Customer {}static private class Database {static Customer getCustomerWithId(int id) {return new Customer();}}
}
processCustomer 方法搭建了在线银行算法的框架:获取客户提供的ID,然后提供服务让用户满意。不同的支行可以通过继承 OnlineBanking 类,对该方法提供差异化的实现。
2.使用lambda表达式
使用你偏爱的Lambda表达式同样也可以解决这些问题(创建算法框架,让具体的实现插入某些部分) 。你想要插
这篇关于使用Lambda表达式重构模板方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!