从本篇博文讲述23中设计模式,对每种设计模式给出实例代码。本篇博文最后都会给出代码下载地址。
本博文的参考书是《设计模式之禅》和《大话设计模式》这两本书。
但是《大话设计模式》一书并不是使用java语言编写的,所以对于初级Java或者有一定java基础的人看起来并不直观,特别是对于没有设计模式概念的同学看起来有点费劲,还有一个不好的地方是里面的每种模式的讲述都是基于一定的情景下讲述的,还有大鸟和菜鸟冗余的对话,看起来真是冗余!!(注:这是个人的理解和感受!大家不喜的话勿喷呀~~~ 【抱头】)
所以我推荐大家学习设计模式的时候,一开始就看《设计模式之禅》一书!!!这个可以买到的。
不过文章后面我会给出这两本书的电子版,如果大家喜欢电子版的书也是可以的。请到文章末尾下载电子版。
其实,我还推荐另一本书《-Java设计模式(第2版)中文版》,该书我现在刚开始看,不过从绪论中该书对23中设计模式进行了分类,分为五类:
所以在本博文的组织中也采用这五类模式进行概述,避免一个模式一篇博文的情况,太过于冗余了。
博文中只会贴出代码的本分,在代码中会在必要的地方进行注释,大家可以自己理解。
代码组织部分的图如下:
每种设计模式在一个包下进行组织,每一个包下面都会有一个Main类主函数进行调试,获取结果,并在Main部分贴出了测试所得到的结果,以及所要说明的设计模式的概述。
声明:因为本人也是参考上面两本书进行代码的组织的,并且主要参考了《设计模式之禅》一书,代码部分和该书的实例基本保持一致,本来目的纯粹是自己学习设计模式,所以达不到给大家讲述设计模式的目的,也并不能教会大家如何进行设计模式的编程,请大家略微翻阅即可。本人水平也有限,难免有错误之处,请大家轻喷!或者留言评论,我会及时回复大家的!共同进步,谢谢~~
本来想每种设计模式都进行陈述,但是23中设计模式进行下来,再加上每种设计模式代码的组织,都会引起博文最后是长篇大论,而《设计模式之禅》一书已经进行了详细的讲述,所以本篇仅以概述的形式展示,以交流心得进行讲述。最终目的还是交流学习之用。
值得一提的是,设计模式需要熟悉UML类图的设计,我在这之前只是很少了解了一番UML,不过在《大话设计模式》一书中有介绍UML类的问题,以及《Java设计模式(第2版)中文版》中附录三部分对UML类也进行了简单的讲解,大家都可以参考。如果想要系统学习UML类图的设计,请大家参考我之前的博文中相关的介绍。(其实我是转载别人的,大家勿喷!欢迎访问原文博客,人家写的相当好!!)
博客地址:深入浅出UML类图(一)
总共有五篇博文讲述UML类图设计,大家可以参考一下。
不过在设计模式这类书中并没有对UML类图有很高的要求,大家只用做到熟悉UML类图,看懂即可。
好了,说了这么多,设计模式一点也没有讲述。
下面给出设计模式的实例代码下载地址:
代码中给出了比较详尽的对于每一种模式的概述,大家可以参考。
电子书下载: