GoF
定义:GoF(Gang of Four),中文名——四人组。GoF是一种
设计模式。
GoF的起源
《Design Patterns: Elements of Reusable Object-Oriented Software》(即后述《设计模式》一书),由 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 合著(Addison-Wesley,1995)。这几位作者常被称为"四人组(Gang of Four)",而这本书也就被称为"四人组(或 GoF)"书。 在《设计模式》这本书的最大部分是一个目录,该目录列举并描述了 23 种设计模式。另外,近来这一清单又增加了一些类别,最重要的是使涵盖范围扩展到更具体的问题类型。例如,Mark Grand 在 Patterns in Java: A Catalog of Reusable Design Patterns Illustrated with UML(即后述《模式 Java 版》一书)中增加了解决涉及诸如并发等问题的模式,而由 Deepak Alur、John Crupi 和 Dan Malks 合著的 Core
J2EE Patterns: Best Practices and Design Strategies 一书中主要关注使用 Java 2 企业技术的多层
应用程序上的模式。 对软件设计模式的研究造就了一本可能是
面向对象设计方面最有影响的书籍:《设计模式》。
GoF是一座"桥"
就
Java语言体系来说,GOF是Java基础知识和J2EE框架知识之间一座隐性的"桥"。 会Java的人越来越多,但是一直徘徊在语言层次的程序员不在少数,真正掌握Java中接口或抽象类的应用不是很多,大家经常以那些技术只适合大型项目为由,避开或忽略它们,实际中,Java的接口或抽象类是真正体现Java思想的核心所在,这些你都将在GoF里领略到它们变幻无穷的魔力。 GoF表面上好像也是一种具体的"技术",而且新的设计模式不断在出现,设计模式自有其自己的发展轨道,而这些好像和J2EE,.Net等技术也无关! 实际上,GoF并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧,让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,GoF反复向你强调一个宗旨:要让你的程序尽可能的可重用。 这其实在向一个极限挑战:
软件需求变幻无穷,计划没有变化快,但是我们还是要寻找出不变的东西,并将它和变化的东西分离开来,这需要非常的智慧和经验。 而GoF的设计模式是在这方面开始探索的一块里程碑。 J2EE等属于一种框架
软件,什么是框架软件?它不同于我们以前接触的Java API等,那些属于Toolkit(
工具箱),它不再被动的被使用,被调用,而是深刻的介入到一个领域中去,J2EE等框架软件设计的目的是将一个领域中不变的东西先定义好,比如整体结构和一些主要职责(如数据库操作 事务跟踪 安全等),剩余的就是变化的东西,针对这个领域中具体应用产生的具体不同的变化需求,而这些变化东西就是J2EE程序员所要做的。 由此可见,设计模式和J2EE在思想和动机上是一脉相承,只不过 1.设计模式更抽象,J2EE是具体的产品代码,我们可以接触到,而设计模式在对每个应用时才会产生具体代码。 2.设计模式是比J2EE等框架软件更小的体系结构,J2EE中许多具体程序都是应用设计模式来完成的,当你深入到J2EE的内部代码研究时,这点尤其明显,因此,如果你不具备设计模式的基础知识(GoF的设计模式),你很难快速的理解J2EE。不能理解J2EE,如何能灵活应用? 3.J2EE只是适合企业计算应用的框架软件,但是GoF的设计模式几乎可以用于任何应用!因此GoF的设计模式应该是J2EE的重要理论基础之一。 所以说,GoF的设计模式是Java基础知识和J2EE框架知识之间一座隐性的"桥"。为什么说隐性的?
GoF是隐性的"桥"
因为很多人没有注意到这点,学完Java基础语言就直接去学J2EE,有的甚至鸭子赶架,直接使用起Weblogic等具体J2EE软件,一段时间下来,发现不过如此,挺简单好用,但是你真正理解J2EE了吗?你在具体案例中的应用是否也是在延伸J2EE的思想? 如果你不能很好的延伸J2EE的思想,那你岂非是大炮轰蚊子,认识到J2EE不是适合所有场合的人至少是明智的,但我们更需要将J2EE用对地方,那么只有理解J2EE此类框架软件的精髓,那么你才能真正灵活应用Java解决你的问题,甚至构架出你自己企业的框架来。(我们不能总是使用别人设定好的框架,为什么不能有我们自己的框架?) 因此,首先你必须掌握GoF的设计模式。虽然它是隐性,但不是可以越过的。
分享到:
相关推荐
GOF 设计模式 中文 高清 经典书籍 值得拥有 带目录 适合进阶
GOF23种经典设计模式中文版 学习设计模式的必备书籍
GOF设计模式(中英文双语) GOF设计模式(中英文双语) GOF设计模式(中英文双语)
GoF设计模式Java版 大神整理的很好的学习书籍
很清楚的GOF设计模式中文版,大家可以下来看看。
GOF设计模式中英文+设计模式精解中英文,一共四个文档,高清版
GOF设计模式双语版(设计模式经典之作),带你走进设计模式的殿堂,编写更加优美高效的代码
找了很久的GoF设计模式的中文版、有需要的朋友可以下载
学习设计模式好的资料学习设计模式好的资料学习设计模式好的资料学习设计模式好的资料学习设计模式好的资料学习设计模式好的资料学习设计模式好的资料学习设计模式好的资料学习设计模式好的资料
自己学习整理的设计模式源码,一共22个有源码 其中一个解释器模式不常用,暂时没必要看,都是自己手动编写和调试通过的,供想要学习设计模式的同学下载学习,每个模式均有先关说明和注释
GOF设计模式
一款C#设计模式的教程,对于提高您的技术有一些帮助
设计模式经典; Gof设计模式(中文)版; 完整目录
java gof设计模式 是很经典的java设计模式介绍,里面详细介绍设计模式用法
Java编写的GoF设计模式源码 每一个模式都用简单的一段程序来实现 帮助理解模式
Gof设计模式、工厂、命令、桥接等等Gof设计模式、工厂、命令、桥接等等
gof设计模式中英双语版 经典中的经典!
GOF设计模式可复用面向对象软件的基础 以及实现代码
GOF23设计模式大全 java