`
azure2a
  • 浏览: 32761 次
  • 性别: Icon_minigender_1
  • 来自: 承德
社区版块
存档分类
最新评论

Java模式速查手册

阅读更多
自己按照阎宏《Java与模式》总结的Java模式总结,包括速查和详细内容。
内容包括
一、创建模式:动态决定怎样创建对象,创建哪些对象和如何组合这些对象的模式。(9页)
1、简单工厂(Simple Factory)
概念:由一个工厂对象决定创建哪些产品类的实例。
使用情况:需要根据不同条件产生不同产品类且产品类简单时使用。
实例:java.text.DateFormat。
(9页)
2、工厂方法(Factory Method)
概念:利用不同实现工厂接口的类产生不同产品。
使用情况:用于克服简单工厂不易于扩展的缺点。
实例:java.util.Collection。
(10页)
3、抽象工厂(Abstract Factory)
概念:利用不同实现工厂接口的类产生一类产品对象。
使用情况:产品是多于一个的产品族,一次使用一组产品。
实例:java.awt.peer.ButtonPeer。
(11页)
4、单例(Singleton)
概念:用于确保系统中某个类只有一个实例,而且自行向系统提供。
使用情况:只要求系统有一个实例的情况下使用。
实例:java.awt.Toolkit。
(12页)
5、建造(Builder)
概念:导演者对象利用创造者实例产生不同产品对象,隐藏产品产生过程。
使用情况:用于产品配置比较复杂的情况。
实例:JavaMail。
(17页)
5、原始模型(Prototype)
概念:利用原始对象生成更多相同对象。
使用情况:产品类动态加载并且具有一定产品等级结构。
实例:JavaBean串行化。
(19页)
二、结构模式:描述如何将类和对象结合到一起形成更大结构的模式。(22页)
1、适配器(Adapter)。
概念:把一个类的接口变成客户端所期待的另一种接口。
使用情况:系统所需的接口和提供的不相符。
实例:JDBC驱动。
(22页)
2、缺省适配(Default Adapter)
概念:为一个接口实现缺省实现,子类便可以从缺省类实现。
使用情况:接口比较复杂,子类不准备实现接口所有方法。
实例:WindowAdapter。(25页)
3、合成(Composite)
概念:把对象组织到树结构中,用来描述整体和部分的关系。
使用情况:某些需要有整体部分关系的结构,客户端需要平等对待构件。
实例:java.awt.Container。
(26页)
4、装饰(Decorator)
概念:以客户端透明的方式扩展对象功能。
使用请况:需要动态扩展一个类的功能,而且功能很多。
实例:java.io类。
(31页)
5、代理(Proxy)
概念:由代理对象代替原来对象的引用。
使用情况:需要在原来的对象操作时增加方法。
实例:Hibernate的Session。
(35页)
6、享元(Flyweight)
概念:类似于线程池,当系统需要大量对象,根据需求返回同一对象。
使用情况:系统有大量对象而且消耗大量内存。
实例:线程池。
(38页)
7、门面(Facade)
概念:利用几个对象实现对系统大量对象的访问。
使用情况:为一个复杂系统提供简单接口,保存子系统独立性。
实例:MVC中的View层。
(43页)
8、桥梁(Bridge)
概念:利用聚合代理继承,增加系统灵活性。
使用情况:系统需要在构件的抽象化角色和具体角色之间增加更多灵活性,要求角色改变不影响客户端,抽象和具体角色独立变化。
实例:JDBC桥,java.awt.Peer。
(45页)
三、行为模式:在对象间划分责任和算法的模式。(48页)
1、不变(Immutable)
概念:一个对象在被创建之后不再变化。
使用情况:当对象需要被对多个线程共享时可以使用不变模式。
实例:String类。
(48页)
2、策略(Strategy)
概念:针对一组算法,将每一个算法封装在共同接口的独立类中,使它们可以互相替换。
使用情况:系统需要动态的选择几种算法,并不希望客户端知道且不希望用多重条件来实现。
实例:java.awt.LayoutManager类。
(49页)
3、模板方法(Template Method)
概念:准备一个抽象类,将部分逻辑以具体方法及构造函数的形式实现,然后利用抽象方法使子类实现剩余逻辑,方法分为模板方法和基本方法。
使用情况:利用模板方法可以分开设计类,主设计师负责模板类。
实例:HttpServlet类。
(52页)
4、观察者(Observer)
概念:定义一对多的依赖关系,让多个观察者同时监听某一个主题对象。
使用情况:系统要求在某个对象状态变化时,某些其他对象需要作出相应的变化。
实例:java.awt省的事件处理。
(54页)
5、迭代子(Iterator)
概念:顺序地访问一个聚集中的元素而不需要暴露聚集的内部构成。
使用情况:当希望客户端利用通用方法访问聚集元素。
实例:java.util.Collection中类。
(57页)
6、责任链(Observer)
概念:很多对象由每一个对象及其下家对象的引用连接成一条链。请求在链上传递,知道链上某一个对象处理该请求。
使用情况:系统需要在不影响客户端的情况下动态重新组织链和分配责任。
实例:Servlet中的Filter。
(61页)
6、命令(Command)
概念:把一个请求或操作封装在一个对象中。
使用情况:系统可以把请求排队或者需要支持命令的撤销及日志支持。
实例:Swing中的撤销和恢复。
(64页)
7、备忘录(Memento)
概念:利用一个备忘录对象来存储另外一个对象内部的快照。
使用情况:系统需要在不改变对象的情况下存储对象状态。
实例:Hibernate中Cache。
(68页)
8、状态(State)
概念:允许一个对象在其内部状态变化时改变其行为,主对象利用状态对象执行不同操作。
使用情况:一个对象的行为依赖于它所处的状态,亦可替代多重条件语句,不同于策略模式在于状态模式的状态经常改变策略模式则只用一个策略。
实例:用户登录。
(75页)
9、访问者(Visitor)
概念:封装访问结构元素如树的算法,适用于结构变化少的结构。
使用情况:希望利用一组对象访问某种结构对象。
实例:HtmlParser工具。
(77页)
10、解释器(Interpreter)
概念:解释器模式可以定义某种语法结构并给出解释器。
使用情况:系统希望提供某种语法。
实例:Hibernate中的Expression。
(81页)
11、调停者(Mediator)
概念:调停者模式包装了一系列对象互相作用的方式,使得这些对象不必须互相引用。
使用情况:系统比较复杂时使用。
实例:Mvc中的View层。
(85页)
2
1
分享到:
评论

相关推荐

    Java版模式速查手册

    《Java版模式速查手册》是一本专注于Java编程语言中设计模式和实用工具的资源集合。博主通过在线博文的形式分享了这些知识,链接为。这个压缩包包含了一系列与Java开发相关的文件,每个文件都有其特定的作用和在开发...

    Java版23模式速查手册

    Java版23种设计模式是软件工程中一套成熟的解决方案,它们是面向对象设计中的..."Java版23模式速查手册"则是一个很好的参考资料,它将详细阐述每种模式的原理、应用场景和实现方式,是Java开发者提升技能的重要工具。

    Java编程速查手册

    《Java编程速查手册》是一本为初学者和经验丰富的开发者设计的实用参考资料,它旨在提供快速、便捷的Java编程信息检索。这本书涵盖了广泛的Java语言特性和开发实践,帮助读者解决在编程过程中遇到的问题,提高工作...

    java速查手册

    以上只是《Java速查手册》中涵盖的一部分知识点,实际内容可能还包括更多高级主题,如并发编程、设计模式、Spring框架、JPA等。通过深入学习和实践,开发者可以更好地驾驭Java这门强大的编程语言。

    Java版模式速查手册.rar

    《Java版模式速查手册》是一本专门为Java程序员设计的实用参考资料,涵盖了多种设计模式及其在Java编程中的应用。设计模式是软件开发中经过实践验证的解决方案,它们为解决常见问题提供了一种标准的方法,从而提高了...

    Design Patterns设计模式速查手册HandBood系列(By FengGe整理)

    《Design Patterns设计模式速查手册HandBook系列》是由FengGe精心整理的一份关于软件设计模式的重要参考资料。这本书集合了多种经典的设计模式,主要面向Java开发者,旨在提高开发效率和代码质量,使得软件系统更加...

    Java 软件开发+代码规范及技巧速查手册

    本资料“Java软件开发+代码规范及技巧速查手册”旨在为开发者提供一个全面的指南,涵盖代码规范、编程技巧以及设计模式等多个方面,以提升代码质量,提高开发效率。 一、代码规范 1. 命名规范:遵循一致的命名规则...

    java词汇表速查手册.rar

    文档"java_词汇表速查手册.doc"很可能包含了关于Java核心语法、类库、API、设计模式等多个方面的详细解释。例如,它可能涵盖了以下关键知识点: 1. **基本类型与引用类型**:Java有8种基本数据类型,包括整型、浮点...

    CMD命令速查手册.docx

    ### CMD命令速查手册知识点详解 #### 一、概述 《CMD命令速查手册》是一份详尽的文档,旨在帮助用户快速掌握Windows操作系统中CMD(命令提示符)下的各种命令及其用法。CMD作为Windows操作系统的一个重要组成部分,...

    java正则表达式速查手册

    本速查手册旨在提供全面的Java正则表达式相关知识,帮助开发者快速理解和运用。 一、Java正则表达式基础 在Java中,正则表达式通常与`java.util.regex`包中的类一起使用,如`Pattern`和`Matcher`。`Pattern`类用于...

    Java初学示例代码和词汇速查手册

    其次,"Java经典代码java 词汇表速查手册(附:J2EE相关名次解释) .txt" 提供了一份词汇表,这对于理解Java相关的专业术语非常有帮助。这个手册可能会列出诸如类(Class)、对象(Object)、接口(Interface)、包...

    Java经典书箱批量打包速查手册HandBood系列(By FengGe整理)

    【Java经典书箱批量打包速查手册HandBood系列】是由FengGe精心整理的一份宝贵的资源集合,主要涵盖了Java编程语言的各个重要方面。这个系列的手册旨在为Java开发者提供一个快速查找和学习Java技术的平台,尤其适合...

    java_词汇表速查手册

    ### Java词汇表速查手册知识点详解 #### Abstract class(抽象类) - **定义**:抽象类是一种不允许直接实例化的类,通常需要通过继承来进行扩展使用。 - **特点**: - 包含至少一个抽象方法。 - 无法直接创建...

    全栈开发速学速查手册集锦

    全栈开发速学速查手册集锦: 知识体系:《Awesome Lists | CS 资料集锦》、《Awesome CheatSheets | 速学速查手册》、《Awesome Interviews | 求职面试必备》、《Awesome RoadMaps | 程序员进阶指南》、《Awesome ...

    web速查手册

    在学习《Web速查手册》时,应重点理解各种源码的实现逻辑和设计模式,这将有助于我们编写更高效、可维护的代码。同时,熟练掌握各种工具的用法,可以使我们在遇到问题时能快速找到解决方案。通过实际操作和实践,...

    Web开发与设计师速查手册大全

    《Web开发与设计师速查手册大全》是一本涵盖了Web开发和设计领域的全面参考资料,旨在为专业人士提供快速查询和学习的工具。作为“精品中的精品”,它深入浅出地讲解了Web开发过程中的关键技术和设计原则,是提升...

    J2EE速查手册HandBood系列(By FengGe整理)

    **J2EE速查手册HandBook系列概述** J2EE(Java 2 Platform, Enterprise Edition)是Oracle公司推出的企业级Java应用平台,主要用于构建分布式、多层架构的应用系统。它提供了一个标准的框架,用于开发、部署和管理...

    MATLAB函数速查手册.zip

    这份“MATLAB函数速查手册”将为您提供一个全面且实用的MATLAB函数参考。 一、MATLAB基础知识 MATLAB的核心是矩阵和数组运算,这使得它在处理大量数据时具有高效性。基本数据类型包括标量、向量、矩阵和数组。...

    JAVA中文文档.chm.zip

    文档会涉及Servlet、JSP、EJB(Enterprise JavaBeans)、JMS(Java消息服务)等技术,以及MVC设计模式和Web服务的实现。 5. **JavaME(微型版)**:JavaME适用于嵌入式设备和移动应用。文档将介绍如何在资源有限的...

Global site tag (gtag.js) - Google Analytics