/jdk_design_patterns

探寻Java源码中的设计模式

Primary LanguageHTML

0. 前言

经典的23种设计模式由GoF(Gang of Four:Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides)“四大金刚”在1995年出版的《Design Patterns》提出。这本书,或者说这23种设计模式的提出对于面向对象编程有着深远影响。

笔者在刚参加工作时写的第一个博客系列就是对于23种设计模式的理解,时至今日已近两年,对于很多开发中不常用的设计模式已经模糊。市面上有关设计模式的书最畅销的应该属《Head First:设计模式》,我当初则是看的C#版本的《大话设计模式》,并用Java实现了一遍。这两本书对于设计模式的讲解都很生动形象,《大话设计模式》全文的主线是一个菜鸟和一个大牛之间的对话,从对话中引申出设计模式在其中如何应用。

《Head First:设计模式》和《大话设计模式》对于设计模式的学习都是不错的入门书籍。但在今日,笔者在想,书中所举的例子大多是很“简单”的例子,对于初学者来讲,难与实际开发相结合,有没有一种我们常常能见到的,随手就能查阅温习设计模式的例子。

Spring框架中使用了大量的设计模式,其代码大多也很巧妙,可Spring发展到今日,其源码已经非常庞大,即使笔者找出源码中的设计模式,也难进行庖丁解牛般分析,所以笔者想到了Java源码。

尽管Java源码也很多,但无论如何Java作为基本语言工具,其熟悉程度必然大于Spring框架。利用Java源码对设计模式进行分析读者也能较为容易理解各个设计模式的应用场景。之所以本书取名《探寻Java源码中的设计模式》,是因为我在写这个系列的时候也是逐个分析源代码,以及查阅相关资料来找寻使用到的设计模式,也许某个设计模式在Java源码中并不存在,这种情况我也尽量找一个其余的框架的例子进行分析讲解。