对我来说,经典设计模式提到的23种都能读懂,但能真正领会只有一半左右,深入研究并烂熟于心的就7,8种。
对java语言来说,Prototype模式实际上是没有意义的,可以忽略。
和所有知识一样,不能生硬地去死背23种设计模式,但只要编程时用心思考,其实设计模式就像氧气一样自然弥漫在你的周围。
看看,JDK的API中就有很多设计模式在体现:
Iterator(迭代器,没有这东西怎么来遍历千奇百怪的Map,List啊),
InputStream(装饰器,IO包是伟大的设计,伟大就在于decorator模式),
java.lang.reflect.Proxy(动态代理模式,没有这个Spring的AOP就歇菜了),
java.util.Observer(观察者模式,如果你做Swing,不知道这个模式简直是要人怀疑你的智商),
java.security.KeyStore.Builder(Builder模式)
java.security.KeyFactory(工厂模式,这两个模式反映了在加密策略多变又需要统一的情况下应该怎么处理)
——最近在研究加密,所以相关领域了解比较多。
Serlvet(模板模式,还记得init,destory,service方法吗,定义好了servlet执行的流程才能让你写doGet;还有BaseController...),
个人能力不足,在JDK中暂时只能想到这么多,细节太多我不想解释——只要用心看源代码和google,反正我就是这么过来的。
在不同的问题领域,会催生出不同的设计模式和其变种,可以看出在JDK这样的底层API中大多数是创建型的设计模式在起作用,因为它们需要生成复杂对象。而在Web开发领域,远程通讯,文件处理等等各种场合还有很多经典模式在起作用,例如Strategy,外观,命令模式等等,更多的则是多种设计模式叠加的复合模式,例如MVC。
运用之妙,存乎一心,不可能一蹴而就。
还是那句话:慢慢来,其实我也不懂。
2008-1-18补记:
今天想起来,java.util.File.listFiles(FileFilter filter)方法应该算是策略模式了。又是一个可以用闭包杀死的模式。
分享到:
相关推荐
《漫谈设计模式》这本书深入浅出地介绍了多种设计模式,通过代码实例帮助读者理解和应用这些模式。在这个压缩包“ramblingonpatterns-1.0”中,你将找到书中的代码示例,它们覆盖了各个章节的关键知识点。 1. **...
漫谈设计模式 网络数据 分为模式介绍,创建模式和行为模式几个章节
在本文档中,我们将深入探讨设计模式及其在面向对象编程中的应用。设计模式是软件工程中的一套被广泛认可的最佳实践,它们是一些在特定上下文中反复出现的问题的解决方案。了解和应用设计模式可以帮助开发者写出更加...
《漫谈设计模式:从面向对象开始(带书签)》设计模式相关书籍。
《漫谈设计模式》这本书以其独特的视角深入浅出地探讨了这一主题,尤其针对Java语言进行了详尽的阐述。在这个压缩包中,包含的文件“漫谈设计模式”可能是该书的电子版或者相关的学习资料。 设计模式的核心在于提高...
若想一本书涵盖所有模式,那么这本书将会非常庞大,以前的设计模式书籍专注于介绍设计模式,虽然读者了解了这些设计模式,但是仍然不知道如何合理地使用它们,往往导致读者为了使用设计模式而设计,而不是从问题出发...
《漫谈设计模式》是一本专为Java开发者深入理解设计模式而编写的书籍。设计模式是软件工程中的一种最佳实践,它们是针对常见问题的解决方案,经过时间和实践的考验,被广泛接受并应用于各种项目中。这本书对于提升...
《漫谈设计模式 (Java)》是一本专为Java开发者准备的设计模式指南,旨在帮助读者深入理解和应用面向对象编程(OOP)的核心理念。书中的内容涵盖了从基础的模式介绍到高级的创建对象、构建复杂结构、行为模式,以及...
《漫谈设计模式:从面向对象开始》主要从最基本的设计模式入手,并结合一些J2EE开发过程经常遇见的技术和概念,你将全面理解这10多个设计模式,并在开发过程中,让你真正体会和思考面向对象编程的思想,也只有掌握...
若想一本书涵盖所有模式,那么《漫谈设计模式:从面向对象开始》将会非常庞大,以前的设计模式书籍专注于介绍设计模式,虽然读者了解了这些设计模式,但是仍然不知道如何合理地使用它们,往往导致读者为了使用设计...
漫谈设计模式-从面向对象开始.刘济华.扫描版.带详细目录。
《漫谈设计模式》这本书是IT领域中关于软件设计的经典之作,主要涵盖了设计模式的核心概念和实际应用。设计模式是经过长期实践证明的在特定情境下解决软件设计问题的通用可复用方案,它们是软件工程中的智慧结晶,...
漫谈设计模式.pdf 编程珠玑(第二版).pdf 设计模式与java实践.pdf 设计模式精解.pdf 设计模式精解-GoF 23种设计模式解析附C++实现源码 .pdf 软件架构设计的思想与模式.pdf 重构与模式(Java).pdf