专栏名称: 码农小胖哥
技术公众号:码农小胖哥
目录
相关文章推荐
51好读  ›  专栏  ›  码农小胖哥

浅谈函数式编程

码农小胖哥  · 掘金  ·  · 2019-11-01 00:39

正文

阅读 110

浅谈函数式编程

1. 前言

最近开始忙起来了,写东西的时间越来越少了。这几天开始在 Java 开发中尝试函数式编程风格。所以就写点小东西来分享一下。

2. 什么是函数式编程?

在我看来函数式编程就是把函数作为一等公民来使用。平常我们开发都是在处理数据。面向对象中都在处理类。而函数式编程不是在写函数就是在写函数的路上。我们来看看 Java 中函数式编程的演进之路。我小时候玩过一种廉价的黑白屏游戏机,只能玩俄罗斯方块。这种是不可扩展的。

  public void playGame(){
         //  只能玩俄罗斯方块
  }复制代码

这种机器给童年带来了不少的乐趣。后来小伙伴有了一台gameboy,这种掌机的好处在于它可以插卡。一张卡一个游戏,最有名的莫过于 《超级马里奥》 和《打砖块》了。这时候机器是完全可扩展的了。

      public void  playGameboy(GameboyCard card){
            card.getGame().run()
      }
复制代码

虽然可以扩展但是卡的价格非常贵,当时买卡的渠道还很少。那时候其实就想如果能自己造 gameboy 游戏就好了(然后我就来搞编程?)。理想中的游戏机是我们不关心你什么风格的游戏,只要你能放入符合接口的游戏卡中并且在我这个游戏机中跑就行。

所以我们定义了一个固定的游戏卡接口:

 /**
 * @author Felordcn
 * @since 2019/10/31 22:13
 */
@FunctionalInterface
public interface Card {

    Game  apply();

}复制代码






请到「今天看啥」查看全文