上一节里提到设计模式分为创建模式,结构模式和行为模式,这节我们来学习它们的定义以及它们包含哪些具体的设计模式。
一、创建模式
创建模式是对类的实例化过程的抽象化。在一些系统里,可能需要动态的决定怎样创建对象,创建哪些对象,以及如何组合和表示这些对象。创建模式描述了怎么构造和封装这些动态的决定。
创建模式分为类的创建模式和对象的创建模式两种。
1、类的创建模式 类的创建模式使用继承关系,把类的创建延迟到子类,从而封装了客户端将得到哪些具体类的信息,并且影藏了这些类的实例是如何被创建和放在一起的。
2、对象的创建模式 对象的创建模式描述的是把对象的创建过程动态地委派给另外一个对象,从而动态地决定客户端讲得到哪些具体的类的实例,以及这些类的实例是如何被创建和组合在一起的。
创建模式主要包括:简单工厂模式,工厂方法模式,抽象工厂模式,单例模式,多例模式,建造模式,原始模式。
二、结构模式
结构模式描述如何将类或对象结合在一起形成更大的结构,结构模式也包括类的结构模式和对象的结构模式。
1、类的结构模式 类的结构模式使用继承把类、接口等组合在一起,以形成更大的结构。当一个类从父类继承并实现某接口时,这个新的类就把父类的结构和接口的结构结合起来。类的结构模式是静态的,一个类的结构模式的经典列子就是适配器模式。
2、对象的结构模式 对象的结构模式描述怎么把各种不同的类型的对象组合在一起,以实现新的功能的方法。对象的结构模式是动态的。
结构模式主要包括:适配器模式,缺省适配器模式,合成模式,装饰模式,代理模式,享元模式,门面模式,桥模式。
三、行为模式
行为模式是对在不同的对象之间划分责任和算法的抽象化。行为模式不仅仅是关于类和对象的,而且是关于它们之间相互作用的。
1、类的行为模式 类的行为模式使用继承关系在几个类之间分配行为。
2、对象的行为模式 对象的行为模式是使用对象聚合类分配行为的。
行为模式主要包括:不变模式,策略模式,模板方法模式,观察者模式,迭代子模式,责任链模式,命令模式,备忘录模式,状态模式,访问者模式,解释器模式,调停者模式。
相关推荐
### 浅析Java设计模式【3】——代理 #### 一、代理模式概述 代理模式是一种行为型设计模式,主要用于在客户端与目标对象之间起到一个中介的作用,通过代理对象来控制对目标对象的访问。代理模式的核心在于它可以...
《Java设计模式》是刘伟老师的一本经典教材,它深入浅出地讲解了软件设计中的重要概念——设计模式。设计模式是经验丰富的开发者在解决常见问题时总结出的通用解决方案,是软件开发中的智慧结晶。这本书的课后习题和...
### Java设计模式学习笔记——外观模式(Facade Pattern) #### 概述 设计模式是软件工程领域中一种解决常见问题的可复用解决方案。在Java开发过程中,掌握设计模式能够帮助开发者更好地组织代码结构,提高代码的...
### Java设计模式经典教程知识点概览 #### 一、设计模式概述 设计模式是一种软件设计方法,它为软件开发者提供了一种标准化的方式去解决常见的软件设计问题。设计模式的使用可以提高代码的可读性和可维护性,同时...
【EJB设计模式概述】 EJB(Enterprise JavaBeans)设计模式是解决在Java EE平台中使用EJB组件遇到的问题和挑战的一种策略。这些模式旨在优化系统性能、可扩展性、可维护性,以及提高组件的重用性。在大型、复杂的...
根据提供的标题、描述以及部分内容,本文将深入探讨Java设计模式,并着重分析23种常见的设计模式,以帮助Java程序员更好地理解和应用这些模式。 ### Java设计模式概述 Java设计模式是面向对象软件设计的一种通用可...
### Java设计模式(1)——理解与应用 #### 一、设计模式概述 设计模式是在软件工程领域中,为了应对特定问题或情境而形成的最佳实践集合。这些模式可以帮助开发者更高效地解决常见问题,提高代码的可重用性和可...
### Java设计模式——个人总结 #### 一、概述 本文档总结了常见的Java设计模式及其应用,涵盖了十种经典的设计模式,并提供了相应的代码示例。这些设计模式旨在解决软件开发过程中遇到的一系列常见问题,帮助...
这份“BAT 115个Java面试题和答案——终极(上)”的资源提供了丰富的学习材料,旨在帮助Java开发者深入理解语言的核心概念、高级特性以及在实际开发中的应用。以下是一些关键知识点的概述: 1. **基础语法**:面试...
Java设计模式在工作流管理系统中的应用研究涉及到软件设计的核心原则,即如何通过设计模式提高系统的灵活性、可维护性和可扩展性。设计模式是解决软件设计中常见问题的标准方法,它们来源于大量的实践经验,经过抽象...
在Java Web开发中,Model-View-Controller(MVC)是一种常见的设计模式。它将业务逻辑、数据和用户界面分离,提高了代码的可维护性和可扩展性。Spring MVC是Java Web中最受欢迎的MVC框架之一,提供了强大的依赖注入...
### Java设计模式——变压器模式详解 #### 一、引言 设计模式是在软件设计中针对常见问题提出的标准化解决方案。在面向对象编程中,设计模式帮助开发者编写可复用且易于理解的代码。Java设计模式涵盖了多种不同的...
- **MVC设计模式**:Model-View-Controller,用于组织Web应用结构。 10. **模块化开发** - **模块化概念**:理解模块化的意义,提高代码组织和可维护性。 - **Java 9模块系统**:了解JPMS(Java Platform Module...