- 浏览: 119098 次
- 性别:
- 来自: 宁波
文章分类
最新评论
下面是JDK中有关23个经典设计模式的示例,在stakeoverflow也有相应的讨论: Bridge: Composite: Decorator: Facade: Flyweight: Proxy: Builder: Factory: Prototype: Singleton: Chain of responsibility: Command: Interpreter: Iterator: Mediator: Memento: Null Object: Observer: State: Strategy: Template method: Visitor: 作用于某个对象群中各个对象的操作. 它可以使你在不改变这些对象本身的情况下,定义作用于这些对象的新操作.
http://stackoverflow.com/questions/1673841/examples-of-gof-design-patternsStructural(结构模式)
把一个接口或是类变成另外一种。
把抽象和实现解藕,于是接口和实现可在完全独立开来。
让使用者把单独的对象和组合对象混用。
为一个对象动态的加上一系列的动作,而不需要因为这些动作的不同而产生大量的继承类。这个模式在JDK中几乎无处不在,所以,下面的列表只是一些典型的。
用一个简单的接口包状一组组件,接口,抽象或是子系统。
有效率地存储大量的小的对象。
用一个简单的对象来代替一个复杂的对象。
Creational(创建模式)
创建一组有关联的对象实例。这个模式在JDK中也是相当的常见,还有很多的framework例如Spring。我们很容易找到这样的实例。
主要用来简化一个复杂的对象的创建。这个模式也可以用来实现一个 Fluent Interface。
简单来说,按照需求返回一个类型的实例。
使用自己的实例创建另一个实例。有时候,创建一个实例然后再把已有实例的值拷贝过去,是一个很复杂的动作。所以,使用这个模式可以避免这样的复杂性。
只允许一个实例。在 Effective Java中建议使用Emun.
Behavioral(行为模式)
把一个对象在一个链接传递直到被处理。在这个链上的所有的对象有相同的接口(抽象类)但却有不同的实现。
把一个或一些命令封装到一个对象中。
一个语法解释器的模式。
提供一种一致的方法来顺序遍历一个容器中的所有元素。
用来减少对象单的直接通讯的依赖关系。使用一个中间类来管理消息的方向。
给一个对象的状态做一个快照。Date类在内部使用了一个long型来做这个快照。
这个模式用来解决如果一个Collection中没有元素的情况。
允许一个对象向所有的侦听的对象广播自己的消息或事件。
这个模式允许你可以在运行时很容易地根据自身内部的状态改变对象的行为。
定义一组算法,并把其封装到一个对象中。然后在运行时,可以灵活的使用其中的一个算法。
允许子类重载部分父类而不需要完全重写。
发表评论
-
一次Java垃圾收集调优实战
2011-01-04 21:45 1441 资料 JDK5.0垃圾收集优化之--Don't ... -
架构师必读书籍
2011-01-04 21:40 476年又过年,去年在写在译的书又长出了一茬,又是时候订一份今 ... -
工作流相关
2011-01-04 10:09 828微内核工作流引擎体系架构与部分解决方案参考 -
jsp/servlet相关
2010-12-30 20:22 1153Servlet/JSP学习笔记(1)-tomcat和eclip ... -
memcached相关
2010-12-30 20:03 874memcached完全剖析-1.memcached基础: h ... -
Hibernate 和 memcached 的集成问题
2010-12-30 19:53 1061做过的项目中Hibernate都是直接采用ehcache做为缓 ... -
hibernate-memcached--在Hibernate中使用Memcached作为一个二级分布式缓存
2010-12-30 19:49 1424hibernate-memcached--在Hiberna ... -
数据库推荐
2010-12-30 19:09 756基于mysql的数据库集群系统的实现: http://hi. ... -
hadoop推荐
2010-12-30 15:27 873CSDN hadoop专题 http://subject. ... -
java与内存文章推荐
2010-12-30 10:58 767内存详解:理解jvm如何使用windows和linux上的内存 ... -
lucene相关
2010-12-29 20:12 797深入 Lucene 索引机制 http://www.i ... -
String的理解
2010-12-29 15:49 754本文是对http://www.iteye.com/topic/ ... -
Tomcat虚拟主机及Root Context配置
2010-12-12 21:44 10151.虚拟主机 对一个Tomcat,可以配置多台虚拟主机。 ... -
转载来的过来经典java网站
2010-12-04 22:30 802一个朋友给我的希望大家喜欢,自己留个备份,没事逛逛!!http ... -
继续Open Session In View
2010-12-04 22:26 1019转自:http://www.iteye.com/top ... -
j2ee中的事务浅谈(转)
2010-12-04 21:50 731事务是企业应用开发中的重要概念,对于部分 Web 应用,事务也 ... -
Tomcat6 使用 NIO
2010-12-04 21:49 915首先,何谓nio? ... -
深入探讨 Java 类加载器2
2010-12-04 21:44 596开发自己的类加载器 我的天,爱死这作者了!!(转载 ... -
通过 Tomcat Advanced I/O 获得高性能的 Ajax
2010-12-04 21:19 736转自:http://www.ibm.com/develop ... -
Servlet 3.0 实战:异步 Servlet 与 Comet 风格应用程序
2010-12-04 21:16 801转自http://www.ibm.com/develo ...
相关推荐
### JAVA设计模式在JDK中的应用 #### 一、引言 在软件开发过程中,设计模式作为一套被广泛接受的解决方案,能够帮助开发者解决常见的设计问题。Java作为一门流行的编程语言,其标准库(JDK)中巧妙地融入了多种设计...
### JDK中的设计模式 设计模式是在软件开发过程中总结出来的最佳实践,它们可以帮助开发者解决常见的问题并提高代码的可维护性和可扩展性。Java Development Kit (JDK) 中包含了许多设计模式的应用实例,这些实例...
JDK 中的 23 个设计模式简介 在 Java 开发领域,设计模式是一个非常重要的概念,它能够帮助开发者写出更加灵活、可维护、可扩展的代码。JDK 中也提供了许多设计模式的实现,本文将对其中的 23 个经典设计模式进行...
【设计模式概述】 设计模式是软件工程中经过实践...学习JDK中的设计模式可以让我们更好地理解Java库的设计思想,提升编程技巧,同时也能帮助我们更有效地运用这些模式到自己的项目中,编写出高质量、易于维护的代码。
设计模式在JDK中的应用课设--PPT资源 题目要求: 设计模式在JDK中的应用(结合JDK源码,分析JDK对设计模式的支持与应用)。课设内容包括: (a)用UML类图分析JDK所支持或应用的设计模式的结构,并与GOF的结构加以...
设计模式在JDK中的应用课设完整报告,Word文档 题目要求: 设计模式在JDK中的应用(结合JDK源码,分析JDK对设计模式的支持与应用)。课设内容包括: (a)用UML类图分析JDK所支持或应用的设计模式的结构,并与GOF的...
本资源主要围绕“设计模式实战”与“JDK源码解读”展开,帮助我们深入理解并运用设计模式,提升代码质量与可维护性。 首先,我们要明白设计模式的分类。设计模式分为三大类:创建型模式(如单例模式、工厂方法模式...
这些模式被广泛应用于Java等面向对象语言中,JDK(Java Development Kit)本身就是一个很好的实践场所,因为它包含了大量使用这些设计模式的例子。下面我们将详细探讨JDK中的23个设计模式及其应用。 1. 单例模式...
│ 3.1江湖传言里的设计模式-单例设计模式.mp4 │ 3.2代码实战-单例设计模式中的懒汉实现方式.mp4 │ 3.4单例模式中的饿汉实现和选择问题.mp4 │ 3.5JDK源码里面的单例设计模式.mp4 │ 4.2电商支付应用案例-...
介绍java二十三种设计模式,包括模式的描述,适用性,模式的组成部分,并附带有简单的例子和类图,目的是为了让读者了解二十三种设计模式,并能方便的查阅各种设计模式的用法及注意点,希望对大家有所帮助。...
本主题将深入探讨JDK中的重要工具、JVM(Java Virtual Machine)的垃圾回收机制以及23种经典的设计模式。 首先,JDK工具介绍: 1. `javac`:这是Java的编译器,用于将源代码编译成可执行的字节码。 2. `java`:这个...
day40 设计模式、jdk8新特性
JDK中许多类和方法都使用了设计模式,这些模式的应用帮助实现了代码的高内聚、低耦合,提高了代码的可维护性和扩展性。下面介绍几种常见的设计模式及其在JDK中的应用实例: a) 抽象工厂模式(AbstractFactory) ...
java常用设计模式及JDK与CGLIB实现动态代理区别(源码) /** * 使用cglib动态代理 * @author * */ public class BookFacadeProxy implements MethodInterceptor{ private Object target; @Override public...
JDK 8的Optional类也是一个重要的设计模式,它帮助解决null引用的问题,鼓励更清晰的代码结构。Optional对象表示可能为null的值,通过`isPresent()`、`get()`、`orElse()`等方法,可以避免空指针异常,使代码更具...
虽然JDK 9才正式引入模块系统,但JDK 8的开发过程中已经开始了模块化的设计工作,为后续版本的模块化奠定了基础。 以上就是关于JDK 1.8.0_211的主要特性介绍。这个版本的JDK带来了许多重要的更新,极大地提升了Java...
在这个场景中,我们关注的是JDK 8的RPM安装包,这是一种专为使用Red Hat Package Manager (RPM)的Linux发行版设计的软件包格式。 **一、JDK的组成部分** 1. **Java编译器** (javac):将源代码编译成可执行的字节码...