这段时间在学习设计模式,不过,有人对我说,现在设计模式已经过时了。不禁要思考:
为什么要学习设计模式?学习设计模式的目的是什么?设计模式能带来什么?
网友们和各个大师的总结和概括已经非常精辟了。从论坛和书中摘录一些段落,并标注一些对本人启发较大的片断。通过今后不断地更新、整理和回顾这些总结,相信能对设计模式的学习和使用起到更大的启发和指导作用。
设计模式的宗旨和目的:
摘录1: (以下摘录自“设计模式(Patterns in Java) -- http://www.jdon.com”)
GoF 的设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧,让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,GoF 的设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
J2EE 等属于一种框架软件,什么是框架软件?它不同于我们以前接触的Java API 等,那些属于Toolkist(工具箱),它不再被动的被使用,被调用,而是深刻的介入到一个领域中去,J2EE 等框架软件设计的目的是将一个领域中不变的东西先定义好,比如整体结构和一些主要职责(如数据库操作 事务跟踪 安全等),剩余的就是变化的东西,针对这个领域中具体应用产生的具体不同的变化需求,而这些变化东西就是J2EE 程序员所要做的。
设计模式是比J2EE 等框架软件更小的体系结构,J2EE 中许多具体程序都是应用设计模式来完成的,当你深入到J2EE 的内部代码研究时,这点尤其明显,因此,如果你不具备设计模式的基础知识(GoF 的设计模式),你很难快速的理解J2EE。
所以说,GoF 的设计模式是Java 基础知识和J2EE 框架知识之间一座隐性的"桥"。
整个设计模式贯穿一个原理:面对接口编程,而不是面对实现.
目标原则是:降低耦合,增强灵活性.