这段时间在学习设计模式,不过,有人对我说,现在设计模式已经过时了。不禁要思考:
为什么要学习设计模式?学习设计模式的目的是什么?设计模式能带来什么?
网友们和各个大师的总结和概括已经非常精辟了。从论坛和书中摘录一些段落,并标注一些对本人启发较大的片断。通过今后不断地更新、整理和回顾这些总结,相信能对设计模式的学习和使用起到更大的启发和指导作用。
设计模式的宗旨和目的:
摘录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 框架知识之间一座隐性的"桥"。
整个设计模式贯穿一个原理:面对接口编程,而不是面对实现.
目标原则是:降低耦合,增强灵活性.
分享到:
相关推荐
标题中的“NativeJS随记 - 浅析JavaScript Events”表明这篇博客主要讨论的是JavaScript中的事件处理机制。JavaScript事件是Web开发中的重要组成部分,它允许我们响应用户的交互或浏览器的内部变化。在这里,我们将...
Java.util包是Java标准库中的核心包之一,它包含了大量用于处理各种数据结构和集合的类和接口。在这个包中,我们经常会用到`Iterator`和`List`接口,这两个接口在Java编程中扮演着非常重要的角色。 首先,`Iterator...
根据提供的文件信息,我们可以分析出该段代码定义了一个名为 `UserRoleType` 的 Java 枚举类,用于描述不同用户角色的权限类型。接下来,我们将详细解释这个枚举类中的各个元素及其含义,并尝试理解其中的一些注释...
在初学者的学习过程中,理解如何有效地使用`OleDbDataAdapter`来更新数据库至关重要。在提供的代码示例中,我们看到了一个简单的VB.NET应用程序,它使用`OleDbDataAdapter`从Access数据库(`.mdb`)中填充`DataSet`,...
读书笔记:Java并发编程之美阅读随记
本篇随记主要探讨的是如何在JSP环境中进行PDF打印,并涉及复杂的模板设计。PDF(Portable Document Format)是一种通用的文件格式,常用于生成保持原始文档格式不变的静态文档,适用于打印和共享。 首先,我们需要...
在"随记小时光设计书1"中,我们主要讨论的是用户信息和手账信息的设计,特别是在数据库方面的应用。这个设计涉及到用户信息的多个关键组成部分,包括昵称、用户名、密码、邮箱、手机号以及权限和加密key的管理。下面...
《深入理解Java类文件反编译:jd-gui工具详解》 在Java开发过程中,有时我们需要查看或理解已编译的.class文件中的源代码,这时就需要借助反编译工具。jd-gui是一款非常实用的Java反编译软件,它允许开发者直接查看...
这篇随记将探讨哈希函数的基本概念、性质以及在实际应用中的重要性。 哈希函数,也称为散列函数,是一种特殊的算法,它将任意长度的输入(也称为预映射或消息)转化为固定长度的输出,这个输出通常被称为哈希值或...
随记App是一款集成微博与博客功能的毕业设计项目,旨在为用户提供一个统一的平台来管理和分享他们的日常思考和生活点滴。这个项目分为客户端和服务端两部分,分别实现了用户交互界面和后台数据处理。 在Android...
- 使用过程中出现过各种故障,通过随记中的记录,为后续维修提供了参考。 4. 相关专业术语: - PCA(处理器控制集合):处理核心部件。 - OSA(操作站集合):用户交互界面组件。 - BB(基本桥接器板):标准...
**EHCache的使用随记** EHCache是一款广泛应用于Java环境中的高效、易用且功能丰富的内存缓存系统。它能够显著提升应用性能,通过将常用数据存储在内存中,避免了反复从数据库读取,降低了I/O延迟。本文将探讨...
11. **设计模式**:常见的23种设计模式(如工厂模式、单例模式、观察者模式等)在Java中都有应用,是提升代码质量和可维护性的关键。 12. **Java EE**:对于Web开发者,Java Enterprise Edition(Java EE)提供了...
- 这是一种将技术深度整合进教育体系,实现资源共享,提高教学质量,完善教育管理,并支持终身学习的教育模式。 - 技术深入整合的灵巧教育:利用科技手段使教育更加灵活和个性化。 - 资源充分共享的均衡教育:...
【标题】:“随记_电气_”提示我们这是一份关于电气工程领域的个人笔记或学习心得,可能包含了一些作者在学习或实践中积累的电气知识。 【描述】:“电气相关的知识,随手写的,不知道行不行11111”表明这份文档...
### C++ 随记知识点总结 #### 一、内存管理与 new/delete 操作符 在 C++ 中,`new` 和 `delete` 是用于动态内存分配的关键字。`new` 用于在堆区分配内存,`delete` 用于释放之前通过 `new` 分配的内存。使用 `new`...
【HL_Letter:个人随记】是一个以Java技术为核心的个人学习笔记项目,它可能是某位开发者记录自己在Java编程过程中的心得、技巧和问题解决方案的集合。从项目名称来看,"HL_Letter"可能代表了作者的名字或者某种缩写...
标题“随记:flex发送XML到servlet”指的是在Flex应用程序中向Java Servlet发送XML数据的过程,这通常涉及到客户端与服务器端的交互。Flex是一种基于Adobe AIR或Flash Player运行时的开发框架,常用于创建富互联网...
linux net 管理随记,留着个人备忘
互联网公司实习日记随记参考.pdf互联网公司实习日记随记参考.pdf互联网公司实习日记随记参考.pdf互联网公司实习日记随记参考.pdf互联网公司实习日记随记参考.pdf互联网公司实习日记随记参考.pdf