【墙外的IT世界】Java-design-pattern 一个有意思的社区推荐

推荐一个不错的AI教程: https://www.captainbed.net/blog-vincent/

 

本篇不生产“design pattern”代码,只推荐一个“真香”的repository、还有作者,哦对,还有他的gitter聊天室。

 

1.分享内容

      伴随java语言更新而不断更新的‘Java-design-pattern’论坛。

      git仓库地址:https://github.com/iluwatar/java-design-patterns 

      java-design-pattern官网:https://java-design-patterns.com/     

      发起人:伊尔卡·塞佩莱,坐标芬兰

 

2.推荐原因

       1)随着Java 8函数式编程的出现,大多数原始作者编写的经典设计模式已经过时。使用现代编程风格,我们可以避免深层次的代码结构和抽象基类。样式已经从传递值变为函数形状的传递行为。随着匿名类变成灵活的单行lambda,经典Java的冗长消失了。 

       2)插个嘴,安利一本我每年都会重读的一本书《Dark Time》:

【墙外的IT世界】Java-design-pattern 一个有意思的社区推荐_第1张图片

        刘未鹏在其《暗时间》的「鱼是最后一个看到水的」章节中曾提到:“Peter Norvig老大有一个著名的PPT,里面提到在《设计模式》的23个模式里有16个模式放到动态语言(尤其是LISP)下面就根本不是什么模式,而是显而易见无需费力就能完成的任务。c2的大佬们将其观点进一步泛化,提出‘设计模式’象征着语言所缺乏内建支持的特性。”   

       总之,大众对设计模式的定性存在严重的问题,许多人把它当成是精巧的利器,就如同解数学题时神来之笔的技巧一样。然而实际上远非如此,设计模式是补丁,其出现往往意味着语言不够强大,其使用意味着大量的、与所要达到的编程目的无关的样板式代码。

       这就可以解释,为什么随着java语言不断的进化,使用现代的编程风格,我们就可以避免深层次的代码结构和抽象基类了。

 

3.内容及版面介绍

       拿官网举例,伊尔卡·塞佩莱主要维护了3个板块,ReadMe、Patterns、Principles,如图:

       part 1: Introduce

【墙外的IT世界】Java-design-pattern 一个有意思的社区推荐_第2张图片

 

       Part 2: Patterns

       这里维护了设计模式的索引,且对不同模式从‘difficulty tags’,‘pattern categories’等角度做了归类。出去23个基本模式之外,“Currently showing 113 Patterns of 113 Patterns total” 剩余的90个索引,基于模式衍生,是不断思考的产物。

【墙外的IT世界】Java-design-pattern 一个有意思的社区推荐_第3张图片

 

       part 3: principle 

       “开闭原则、单一职责、里氏代换、依赖倒转、接口隔离、迪米特法则” 是我们熟知的设计模式6大原则,除此之外还有哪些呢?建议先看这里:

 

【墙外的IT世界】Java-design-pattern 一个有意思的社区推荐_第4张图片

 

关于源码:

官网patterns索引,有些没有源码,请移步github。   

 

关于gitter聊天室:

针对此java-design-pattern repository,无论是讨论issue,还是答疑,甚至是工作推荐,可以玩一玩哦~

【墙外的IT世界】Java-design-pattern 一个有意思的社区推荐_第5张图片

 

相关资源:

1)JournalDev的 java-design-pattern

https://www.journaldev.com/1827/java-design-patterns-example-tutorial 

【墙外的IT世界】Java-design-pattern 一个有意思的社区推荐_第6张图片

 

    欢迎扫码,关注博主的个人公众号:

你可能感兴趣的:(【微信公众号】)